Python 디자인 모델 의 공장 방법 모델 실례 상세 설명
공장 방법 모드(Factory Method Pattern):대상 을 만 드 는 데 사용 되 는 인 터 페 이 스 를 정의 하여 하위 클래스 가 어떤 종 류 를 예화 할 지 결정 하도록 합 니 다.공장 방법 은 하나의 예화 를 하위 클래스 로 지연 시 킵 니 다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
――
(Factory Method Pattern): , , .
- ,
: , ,
"""
class LeiFeng(object):
def Sweep(self):
print " "
def Wash(self):
print " "
def BuyRice(self):
print " "
class IFactory(LeiFeng):
def CreateLeiFeng(self):
pass
#
class Undergraduate(LeiFeng):
pass
#
class Volunteer(LeiFeng):
pass
#
class UndergraduateFactory(IFactory):
def CreateLeiFeng(self):
return Undergraduate()
# e
class VolunteerFactory(IFactory):
def CreateLeiFeng(self):
return Volunteer()
if __name__ == "__main__":
student = UndergraduateFactory()
volunteer = VolunteerFactory()
student.BuyRice()
student.Sweep()
volunteer.Wash()
실행 결과:쌀 을 사다
땅 을 쓸다
빨래 하 다
상류의 디자인 은 다음 과 같다.
추상 적 인 공장 류 Create LeiFeng 과 추상 적 인 대상 류 LeiFeng 을 만 듭 니 다.구체 적 인 leifeng 대상-Undergradiate 가 dosomething 에 갈 때 추상 적 인 공장 을 계승 하 는 Undergraduate Factory 공장 류 를 사용 합 니 다.이 종 류 는 Undergradiate 인 스 턴 스 를 되 돌려 줍 니 다.다른 dosomething 을 하려 면...Volunteer Factory 공장 을 만 드 는 방법 으로 Volunteer 인 스 턴 스 를 만 들 면 됩 니 다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.