2017-02-06 6 views
0

Je viens de commencer à entrer dans OOP et je me demandais la structure correcte pour relier des objets ensemble.La structure correcte pour lier des objets

Disons, par exemple, j'avais un objet appelé « Business »:

function Business(name, sector, capital, employees, type, id) { 
    var self = { 
    name: name, 
    sector: sector, 
    capital: capital, 
    employees: employees, 
    stock: 0, 
    type: type, 
    id: id, 
    }; 
    self.produce = function() { 
    return self.capital * self.employees; 
    } 

maintenant dans l'exemple ci-dessus en utilisant les propriétés du capital et les employés de la méthode « self.produce » produit une sortie. Cette sortie je veux stocker en fonction du secteur. En conséquence, est-ce que je créerais un objet "Sector" séparé? Ou bien, au sein de mon objet métier, hériterait-il de l'objet "Secteur"? Je comprends que l'héritage est utilisé pour les attributs d'objets similaires, par exemple un animal hériterait d'un animal. Mais dans mon cas de "Business" et "Sector" je suis légèrement confus.

+0

Qu'est-ce que * "Je veux stocker" * signifie spécifiquement? – charlietfl

Répondre

0

Dans ce cas vous voulez utiliser la composition, l'entreprise "a un" secteur mais une entreprise "n'est pas" un secteur. Business aurait un secteur d'attribut, ce qui est passé dans le constructeur de sorte que vous pouvez passer différents secteurs à des entreprises différentes. Donc, si la production du produit dépend du secteur, le code serait dans les classes de secteurs.

+0

Suggérez-vous d'aller de l'avant, je devrais simplement utiliser la composition à la place? J'ai regardé cette vidéo qui a aidé à effacer un peu https://www.youtube.com/watch?v=wfMtDGfHWpA – epayne

+0

Oui pour ce cas utilisez certainement la composition, mais dans vos classes de secteur si vous avez partagé la fonctionnalité entre eux, puis utiliser l'héritage Là. – dandro