クラスの継承

class A:
  def init(self):
    self.name = ‘Class A’

class B(A):
  pass

b = B()
print(b.name)

結果
Class A

class Bでは、Class Aは出てこないが、Class B(A)とすることで、ClassAを継承しますということ。
継承元のクラス(この例だとAクラス)のことをスーパークラス(親クラス)。Bクラスはサブクラス(子クラス)

前のクラスの関数を使う方法

class Person:
  def init(self, last_name, first_name, tel, mail_address):
    self.last_name = last_name # 姓
    self.first_name = first_name # 名前
    self.tel = tel # 電話番号
    self.mail_address = mail_address # メアド

def full_name(self):
    """フルネーム(姓+空白1文字+名前)を返す"""
    return self.last_name + ' ' + self.first_name

class AddressBook:
  def init(self):
    self.person_list = []

def add(self, person):
    """Personクラスのオブジェクトを追加"""
    self.person_list.append(person)

def show_all(self):
    """登録された個人一覧を表示"""
    for person in self.person_list: selfを付ける。
        print(person.full_name()) 前の関数を普通に入れる
                 ただ、personを必ずつける

def search(self, keyword):
    """検索条件(keywordがフルネームに含まれるか)にマッチする人を表示"""
    for person in self.person_list:
        if keyword in person.full_name():
            print(person.full_name())

コメント

タイトルとURLをコピーしました