Inheritance/Single: Difference between revisions
Content added Content deleted
m (→{{header|Perl}}: 5*s->1) |
m (→{{header|Phix}}: use pygments) |
||
Line 1,730: | Line 1,730: | ||
{{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. |
||
<syntaxhighlight lang="phix"> |
|||
without js -- (class) |
|||
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- (class)</span> |
|||
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 |
|||
<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> |
|||
</syntaxhighlight> |
|||
=={{header|PHP}}== |
=={{header|PHP}}== |