上位クラスのメソッドは全て下位クラスに継承されます。属性もそのままに継承されます。つまり、パブリックメソッドはパブリックメソッドとして、プライベートメソッドはプライベートメソッドとして継承されます。
継承されたメソッドは、そのクラス自体で定義されたメソッドと全く同じように起動できます。
少し混乱するかもしれないのは、プライベートメソッドです。プライベートメソッドは、それが定義されたクラスにプライベートなものと考えることができます。しかし、これもまた継承されます。ですから、下位クラスでは、自分自身のプライベートメソッドになるわけです。実体は上位クラスで定義されているわけですが、"SUPER"をメッセージの受け手として用いることはできません。常に、"SELF"にメッセージを送らなければなりません。
通常は、継承されたメソッドもそのクラス固有のメソッドと同じように考えてかまいませんが、違いとしては、継承されたメソッドは、同じ名前のメソッドを再定義することによってオーバーライドすることができるということです。
関連項目:
最終更新:2018年12月23日 13:25