Python 학습 노트 06 - 대상 지향
class Person(): #
height = 170 #
# ,
# self,
# ,python self,
def __init__(self, name, age):
self.name = name #
self.__age = age #
#
def run(self):
print(" ")
def fight(self):
print(" ")
p = Person(' ', 18) #
개인 속성
del () 방법
class Animal(object):
#
#
def __init__(self, name):
print('__init__ ')
self.__name = name
#
# ,
def __del__(self):
print("__del__ ")
print("%s ..."%self.__name)
#
dog = Animal(" ")
#
del dog
cat = Animal(" ")
cat2 = cat
cat3 = cat
print("--- cat ")
del cat
print("--- cat2 ")
del cat2
print("--- cat3 ")
del cat3
출력
__init__
__del__
...
__init__
--- cat
--- cat2
--- cat3
__del__
...
대상 지향 3 대 특성
# , :
class Cat(object):
def __init__(self, name, color=" "):
self.name = name
self.color = color
def run(self):
print("%s-- "%self.name)
# , Cat :
class Bosi(Cat):
def setNewName(self, newName):
self.name = newName
def eat(self):
print("%s-- "%self.name)
bs = Bosi(" ")
print('bs :%s'%bs.name)
print('bs :%s'%bs.color)
bs.eat()
bs.setNewName(' ')
bs.run()
실행 결과
bs :
bs :
--
--
class base(object):
def test(self):
print('----base test----')
class A(base):
def test(self):
print('----A test----')
#
class B(base):
def test(self):
print('----B test----')
# , A、B
class C(A,B):
pass
obj_C = C()
obj_C.test()
print(C.__mro__) # C
실행 결과
----A test----
(, , , , )
3. 다 형 다 형 개념 은 자바 와 C \ # 와 같은 강 한 유형 언어 에 응용 되 고 Python 은 '오리 유형' 을 숭상 한다.다 형 이란 정의 할 때의 유형 과 실행 할 때의 유형 이 다 르 기 때문에 이 때 는 다 형 이 된다.
class F1(object):
def show(self):
print('F1.show')
class S1(F1):
def show(self):
print('S1.show')
class S2(F1):
def show(self):
print('S2.show')
# Func S1 show , S2 show , , S1 S2
# :S1 S2
def Func(F1 obj):
"""Func F1 F1 """
print obj.show()
s1_obj = S1()
Func(s1_obj) # Func S1 s1_obj, S1 show , :S1.show
s2_obj = S2()
Func(s2_obj) # Func Ss ss_obj, Ss show , :S2.show
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.