Subclasses in Object oriented programming
显示 更早的评论
Hallo zusammen,
Ich habe eine Frage zu Subklassen in Matlab. Ich finde die Hilfe dazu etwas verwirrend und hoffe mir kann jemand weiterhelfen.
Ich habe eine Klasse (Im beispiel Klasse CC) an die ich per containers map weitere Klassen anheften möchte (Im Beispiel Klassen B1, B2). Diese angehefteten Klassen (B1, B2) kann jetzt aber verschiedene Funktionen und Eigenschaften haben. Ist das ein richtiger Anwendungsfall für Subklassen?
In meinem Fall würde ich dann eine übergeordnete Klasse CC definieren müssen, eine Superklasse A und 2 Subklassen B1 und B2. Ist das so korrekt?
Wie würde dann der Code dafür aussehen?
Klasse CC:
classdef CC < handle
properties
propCC_1
propCC_2
end
methods
%------------------------- Constructor -------------------------
function obj = CC(propCC_1)
obj.propCC_2 = containers.Map();
if nargin == 0
else
obj.propCC_1 = propCC_1;
end
end
end
end
Klasse A:
classdef A < handle
properties
propA_1
propA_2
end
methods
%------------------------- Constructor -------------------------
function obj = A(propA_1)
if nargin == 0
else
obj.propA_1 = propA_1;
end
end
end
end
Klasse B1 ( Klasse B2 analog):
classdef B1 < A
properties
propB1_1
propB1_2
end
methods
%------------------------- Constructor -------------------------
function obj = B1(propB1_1)
if nargin == 0
else
obj.propB_1 = propB_1;
end
end
end
end
Mein Code dazu sähe so aus:
%Erstellen der benötigten Klassen:
objCC = CC
objB1 = B1
objB2 = B2
Objekt B1 und B2 anheften:
objCC.propCC_2('tester')=objB1
objCC.propCC_2('tester2')=objB2
Jetzt hängen 2 unterschiedliche Klassen (B1 und B2), die beide Unterklassen von der Klasse A sind an der Klasse CC.
Ist das so richtig?
1 个评论
per isakson
2016-4-4
Yes, I think its correct, but I might have missed something in your question.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!