Inheritance/Multiple: Difference between revisions

No edit summary
Line 240:
=={{header|Elena}}==
ELENA only permits inheritance from one parent class. However, mixins are supported
<lang elena>#importclass system.CameraFeature =
 
#symbol CameraFeature =
{
#method cameraMsg
= "camera".
}.
 
#class MobilePhone
{
#method mobileMsg
= "phone".
}
 
#class CameraPhone :: MobilePhone
{
#methoddispatch => CameraFeature.
}
 
#symbol program =
[
#var cp := CameraPhone new.
 
console writeLine:(cp cameraMsg).
console writeLine:(cp mobileMsg).
].</lang>
Alternatively a group object may be created
<lang elena>#import system'dynamic.
#import system'dynamic.
 
#class CameraFeature
{
#method cameraMsg
= "camera".
}
 
#class MobilePhone
{
#method mobileMsg
= "phone".
}
 
#symbolclass CameraPhone =
{
new = MobilePhone new mix &into:(CameraFeature new).
}.
 
#symbol program =
[
#var cp := CameraPhone new.
 
console writeLine:(cp cameraMsg).
Anonymous user