반응형
/************************************************************************************************
-- Title : [PY2.7.11] 클래스 상속(Inherit)
-- Reference : itsdong.com
-- Key word : class superclass subclass 클래스 슈퍼클래스 서브클래스 상속 inherit
************************************************************************************************/
# -*- coding: utf-8 -*-
# -----------------------------------------------
# -- 상속(Inherit)
# -- 객체가 생성될 때, 여러 초기화 작업이 사용
# -----------------------------------------------
# -- 클래스
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
print('Creating {} object...'.format(self.name))
def speak(self):
print('My name is {}, {} years old.'.format(self.name, self.age))
p1 = Person('Hayden', 24)
p1.speak()
print('-' * 100)
# -- 상속
class Student(Person): # 상속은 ()안에 표기
def __init__(self, name, age, no):
Person.__init__(self, name, age) # 상속된 메소드 호출
self.no = no
print('Creating {} inherited object...'.format(self.name))
def speak(self):
Person.speak(self) # 상속된 메소드 호출
print('My student no is {}.'.format(self.no))
class Professor(Person):
def __init__(self, name, age, pay):
Person.__init__(self, name, age) # 상속된 메소드 호출
self.pay = pay
print('Creating {} professot ...'.format(self.name))
def speak(self):
Person.speak(self) # 상속된 메소드 호출
print('Professor salary is {}.'.format(self.pay))
s1 = Student('STU1', 15, 93450486)
f1 = Professor('PRO1', 45, 100000000)
member = [s1, f1]
for aa in member:
aa.speak()
반응형