Inheritance/Single: Difference between revisions

Content added Content deleted
m (omit from assembly)
m (→‎{{header|Phix}}: added syntax colouring, marked p2js incompatible)
Line 1,586: Line 1,586:
{{libheader|Phix/Class}}
{{libheader|Phix/Class}}
Add (private|public) fields and methods as needed. Make Animal and Dog abstract (ie use "abstract class") to prevent instantiation.
Add (private|public) fields and methods as needed. Make Animal and Dog abstract (ie use "abstract class") to prevent instantiation.
<!--<lang Phix>(notonline)-->
Needs 0.8.1+
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- (class)</span>
<lang Phix>class Animal
<span style="color: #008080;">class</span> <span style="color: #000000;">Animal</span>
private string species
<span style="color: #008080;">private</span> <span style="color: #004080;">string</span> <span style="color: #000000;">species</span>
end class
<span style="color: #008080;">end</span> <span style="color: #008080;">class</span>
class Dog extends Animal
<span style="color: #008080;">class</span> <span style="color: #000000;">Dog</span> <span style="color: #008080;">extends</span> <span style="color: #000000;">Animal</span>
public procedure bark()
<span style="color: #008080;">public</span> <span style="color: #008080;">procedure</span> <span style="color: #000000;">bark</span><span style="color: #0000FF;">()</span>
puts(1,"woof\n")
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"woof\n"</span><span style="color: #0000FF;">)</span>
end procedure
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
end class
<span style="color: #008080;">end</span> <span style="color: #008080;">class</span>
class Lab extends Dog end class
<span style="color: #008080;">class</span> <span style="color: #000000;">Lab</span> <span style="color: #008080;">extends</span> <span style="color: #000000;">Dog</span> <span style="color: #008080;">end</span> <span style="color: #008080;">class</span>
class Collie extends Dog end class
<span style="color: #008080;">class</span> <span style="color: #000000;">Collie</span> <span style="color: #008080;">extends</span> <span style="color: #000000;">Dog</span> <span style="color: #008080;">end</span> <span style="color: #008080;">class</span>
class Cat extends Animal end class</lang>
<span style="color: #008080;">class</span> <span style="color: #000000;">Cat</span> <span style="color: #008080;">extends</span> <span style="color: #000000;">Animal</span> <span style="color: #008080;">end</span> <span style="color: #008080;">class</span>
<!--</lang>-->


=={{header|PHP}}==
=={{header|PHP}}==