Re: Child objects inheriting property values
Peter Obiefuna <[email protected]>
| Newsgroups | gmane.comp.windows.devel.dotnet.clr |
|---|---|
| Message-ID | <[email protected]> |
Using inheritance is semantically wrong since a Column 'IS A' record is not
correct. Moreover, assigning field values of a base class to its subclass in
a constructor feels awkward. A good compiler should disallow it.
Again, the class order in your question appears reversed to me (I expect a
column collection to exist before a record does) but I'll just answer your
question narrowly. Here's my solution to that problem.
=======================================
class Column{
private char delimiter;
public Column(){
// first, set parent record;
// then ...
this.delimiter = ParentRecord.Delimiter;
}
public Record ParentRecord { get; set; }
public char Delimiter { get; set; }
}
class Record{
private char delimiter = '^';
public Record(){
}
private Column[] columns;
public char Delimiter {get; set;}
}
--------------------------------------------------
From: "Adrian Martin" <[email protected]>
Sent: Tuesday, November 20, 2007 6:28 AM
To: <[email protected]>
Subject: Re: [DOTNET-CLR] Child objects inheriting property values
> class Column : Record
> {
> public Column()
> {
> this.Delimeter = base.Delimeter;
> }
> }
>
>
>
>
>
>
>
> -----Original Message-----
> From: Discussion of development on the .NET platform using any managed
> language [mailto:[email protected]] On Behalf Of Brady
> Kelly
> Sent: 20-November-2007 10:10
> To: [email protected]
> Subject: Child objects inheriting property values
>
> I have a hierarchy of objects that share some attributes, e.g. both my
> parent Record and Column objects have a columnDelimiter property. I
> want
> this property on the Column object to default to the same property on
> the
> Record object, until specified on the Column object. What is the best
> way
> to go about this? I could give each Column a reference to the Record it
> belongs to, but this seems not quite right to me. My other option is to
> have the Record act as a ColumnFactory, setting the columnDelimiter
> value on
> each Column it creates, until a set accessor on Column optionally
> overrides
> that default value.
>
>
> ===================================
> This list is hosted by DevelopMentor(r) http://www.develop.com
>
> View archives and manage your subscription(s) at
> http://discuss.develop.com
>
>
> Johnston Press plc Registered in Scotland no. SC015382
> Registered Office: 53 Manor Place, Edinburgh, EH3 7EG
>
> Opinions expressed in this email are those of the writer and not the
> company. E-mail traffic is monitored within Johnston Press and messages
> may be viewed. This e-mail and any files with it are solely for the use
> of the addressee(s). If you are not the intended recipient, you have
> received this e-mail in error. Please delete it or return it to the
> sender or notify us by email at [email protected]
>
> ===================================
> This list is hosted by DevelopMentor® http://www.develop.com
>
> View archives and manage your subscription(s) at
> http://discuss.develop.com
>
===================================
This list is hosted by DevelopMentor® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com