Inheritance/Multiple: Difference between revisions
→{{header|M2000 Interpreter}}
(Added Wren) |
|||
Line 929:
Module CheckIt {
Class Camera {
module Camera (.cameratype$){
}
\\ INHERITANCE AT CODE LEVEL
Class MobilePhone {
Private:
IamMobilePhone ▼
model$
Class:
module MobilePhone (.model$) {
}
}
Class CameraPhone as Camera as MobilePhone {
Module CameraPhone ( .model$, .cameratype$) {
▲ M=Camera()
M=MobilePhone()▼
▲ M=This
▲ This=M
}
}
CP1 =CameraPhone("X-15", "OBSCURE")
Print
Print CP1 is type Camera = true
Print CP1 is type MobilePhone = true
\\ INHERITANCE AT OBJECT LEVEL
CP2 = MobilePhone("X-9") with Camera("WIDE")
\\ CP3 has no type
Group CP3 {
Module PrintAll {
If this is type Camera and this is type MobilePhone then
Print .model$, .cameratype$
Print "Nothing to print"
}
}
CP3.PrintAll ' Nothing to print
\\ using pointers and prepate inheritance at object level
CP->(CP1 with CP3)
CP=>PrintAll
CP->(CP2 with CP3)
CP=>PrintAll
}
CheckIt
|