さっしーブログ

埼玉県在住のシステムエンジニアです。基本的には技術的な内容を中心に発信していきます。

Python入門クラスを継承してみよう

f:id:y_saiki:20171024233602j:plain

目次

1.実行環境

  • Debian7.11
  • Python2.7

2.Pythonでの継承について

Pythonでクラスを継承する場合は子クラスのクラス名の後に()を用いてスーパークラスのクラス名を記述します。 そして、親クラスの機能を引き継ぐために子クラスのinitメソッド内で親クラスのinitを呼び出してselfを渡してあげます。 これでクラスの継承が可能になります。

それでは、具体的な記述内容に関しては以下のサンプルコードを見ていきましょう。

3.親クラスを作成しよう

parent.py

#_*_ coding: utf-8 _*_

class Parent:

  def __init__(self, lastName):
  self.lastName = lastName

  def getLastName(self):
  return self.lastName

4.子クラスを作成しよう

children.py

#_*_ coding: utf-8 _*_

from parent import Parent

class Children(Parent):

  def __init__(self, firstName, lastName, age):
  Parent.__init__(self, lastName)
  self.firstName = firstName
  self.age = age

  def getFirstName(self):
  return self.firstName

  def getAge(self):
  return self.age

  def getFullName(self):
  return self.firstName + self.lastName

5.継承させたクラスを使ってみよう

実際に継承できているかを確認していきましょう。

main.py

#_*_ coding: utf-8 _*_

from children import Children

jon = Children("jon", "test", "21")
bob = Children("bob", "test", "31")

print "--- result output ---"
print "Children jon: "
print jon.getFirstName()
print jon.getLastName()
print jon.getFullName()
print jon.getAge()

print "Children bob: "
print bob.getFirstName()
print bob.getLastName()
print bob.getFullName()
print bob.getAge()

実行結果

root@dev:~/tmp# python main.py
--- result output ---
Children jon:
jon
test
jontest
21
Children bob:
bob
test
bobtest
31

しっかりと親クラスに定義しているgetLastName()を子クラスから呼び出せていますね。

以上