2010-07-12 5 views
-1

J'ai essayé d'utiliser l'héritage dans toute ma classe d'objet. ci-dessous sont mon exemples'il vous plaît aidez-moi en utilisant l'héritage de l'objet

public class Member : Order 
{ 
    private string _employeeId; 
    private string _employeeName; 

    public string EmployeeId 
    { 
     get { return _employeeId; } 
     set { _employeeId = value; } 
    } 

    public string EmployeeName 
    { 
     get { return _employeeName; } 
     set { _employeeName = value; } 
    } 

} 


public class Order 
{ 
    private int _id; 
    private string _itemName; 

    public string ID 
    { 
     get { return _id; } 
     set { _id = value; } 
    } 

    public string ItemName 
    { 
     get { return _itemName; } 
     set { _itemName= value; } 
    } 

} 
+4

Quelle est votre question? –

+0

@Abel - Comment cela semble-t-il correct? Syntactiquement, peut-être. Mais je ne peux pas envisager n'importe quel scénario dans lequel un membre est aussi un ordre! –

+0

@Greg: désolé, j'ai supprimé mon commentaire après que j'ai trouvé que c'était seulement syntaxiquement correct. Le membre est un Ordre semble un peu trop étrange (sauf si un membre est quelque chose que vous pouvez commander, prévoir cela!) ;-) – Abel

Répondre

5

L'héritage crée une relation "IS A" entre les classes.

Il est hautement improbable que "un membre est une commande", donc vous ne l'utilisez pas correctement.

Sans plus d'informations, il est difficile de vous donner de meilleurs conseils.

Un modèle plus plausible serait:

  • Un employé est une personne
  • Un membre est un employé (doute ici)
  • Un membre a 0 ou plus de commandes

class Person { } 
class Employee: Person { } 
class Member : Employee 
{ 
    public IList<Order> Orders { get; private set; } 
} 

class Order 
{ 
    public int MemberId { get; private set; } 
} 
+0

tout le monde s'il vous plaît être des conseils sur la façon d'utiliser un objet chaîne comme l'exemple ci-dessus – lord

+0

Vous semblez avoir besoin d'une introduction de base à l'héritage, voir http://en.wikipedia.org/wiki/Inheritance_%28object-oriented_programming%29 et http : //studweb.north.londonmet.ac.uk/~chalkp/proj/ootutor/inheritance.html –

+0

Salut, je l'utilise pour les propriétés automatiques. Si vous avez une technique utilisant des propriétés automatiques s'il vous plaît faites le moi savoir. merci – lord

0

Puisque vous utilisez C#, vous pouvez réduire votre exemple en utilisant les propriétés automatiques:

public class Order 
{ 
    public string Id { get; set; } 
    public string ItemName { get; set; } 
} 

public class Member : Order 
{ 
    public string EmployeeId { get; set; } 
    public string EmployeeName { get; set; } 
} 

Maintenant, le problème est que vous voulez utiliser le même nom et les propriétés Id sur commande et membre? Ensuite, vous feriez ceci:

public class Order 
{ 
    public string Id { get; set; } 
    public string Name { get; set; } 
} 

public class Member : Order 
{ 
} 

Mais, pourriez-vous donner plus de détails sur ce que vous voulez que ces deux classes à utiliser pour? Pourquoi un membre hérite-t-il de l'Ordre?

-1

Oui, cela semble bien. Je ne peux pas dire s'il est logique d'utiliser l'héritage de cette façon pour ces classes spécifiques, mais si c'est ce que vous voulez, vous l'avez fait correctement.

En C# version 3 et plus tard, vous pouvez utiliser un raccourci pour créer des propriétés:

public class Member : Order { 

    public string EmployeeId { get; set; } 
    public string EmployeeName { get; set; } 

} 

public class Order { 

    public string ID { get; set; } 
    public string ItemName { get; set; } 

} 
+0

Pourquoi la downvote? Si vous n'expliquez pas ce que vous pensez être faux, cela ne peut pas améliorer la réponse. – Guffa

+0

Je veux dire.Comment utiliser un objet de la chaîne dans la logique commerciale – lord

+0

tout le monde s'il vous plaît être des conseils sur la façon d'utiliser un objet chaîne comme l'exemple ci-dessus. – lord

Questions connexes