데이터/아나콘다(jupyter lab)
파이썬 객체지향(private), 상속
무한경쟁시대
2021. 11. 27. 20:59
self는 자바에서 this와 비슷한 쓰임
필드변수에 __(언더바2개)를 주면 private 됨
상속 예시
class Person(object):
def __init__(self, name, age, gender):
self.__name=name
self.__age=age
self.__gender=gender
def about_me(self):
print("이름",self.__name,"나이는",self.__age, "성별은",self.__gender,end=" ")
p1=Person('홍길동',20,'남자')
p1.about_me()
class Employee(Person):
def __init__(self, name, age, gender, salary, hire_date):
super().__init__(name,age,gender)
self.__salary=salary
self.__hire_date=hire_date
def do_work(self):
print("열심히 일한다.")
def about_me(self):
super().about_me()
print("급여:", self.__salary, "입시일:",self.__hire_date)
e1=Employee('홍길수', 30, '남자', 500, '2019-01-03')
e1.about_me()
class Student(Person):
def __init__(self, sno, name, age, gender, major):
super().__init__(name, age, gender)
self.__sno=sno
self.__major=major
def change_major(self, new_major):
print("학생의 전공을 변경합니다:From %s to %s"%(self.__major, new_major))
self.__major=new_major
def about_me(self):
print('학번:', self.__sno, end=" ")
super().about_me()
print('전공:', self.__major)
s1=Student(112233,'홍길수', 20, '여자', '정보통신')
s1.about_me()