Python 디자인 모드 의 템 플 릿 방법 모드 실례 상세 설명
2154 단어 Python디자인 모드템 플 릿 방법 모드
템 플 릿 방법 모드(Template Method Pattern):작업 중의 알고리즘 골격 을 정의 하고 일부 절 차 를 하위 클래스 로 지연 시 킵 니 다.템 플 릿 방법 은 하위 클래스 가 하나의 알고리즘 구 조 를 바 꾸 지 않 고 이 알고리즘 의 특정한 절 차 를 다시 정의 할 수 있 습 니 다.
다음은 템 플 릿 방법 모드 의 데모 입 니 다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
――
(Template Method Pattern): , .
: , , ,
"""
class NewPaper(object):
def question1(self):
print " 1"
print self.answer1()
def question2(self):
print " 2"
print self.answer2()
def answer1(self):
return ''
def answer2(self):
return ''
class TestPaperA(NewPaper):
def answer1(self):
return ' A1'
def answer2(self):
return ' A2'
class TestPaperB(NewPaper):
def answer1(self):
return ' B1'
def answer2(self):
return ' B2'
if __name__ == '__main__':
test1 = TestPaperA()
test2 = TestPaperB()
print " A"
test1.question1()
test1.question2()
print " B"
test2.question1()
test2.question2()
실행 결과:시험지 A
제목
정 답
제목
답 A2
시험지 B
제목
정 답 B1
제목
답 B2
상류의 디자인 은 다음 과 같다.
NewPaper 는 추상 적 인 유형 으로 추상 적 인 템 플 릿 을 정의 하고 추상 적 인 템 플 릿 방법 을 실현 했다.TestPaper 는 부류 의 하나 또는 여러 가지 추상 적 인 방법 을 실현 했다.
변 하지 않 고 가 변 적 인 행위 가 하위 클래스 의 방법 에서 혼합 되면 변 하지 않 는 행 위 는 하위 클래스 에서 반복 되 고 템 플 릿 방법 모델 을 통 해 이런 행 위 를 단일 한 곳 으로 옮 겨 하위 클래스 가 중복 되 는 변 하지 않 는 행위 의 얽 매 임 에서 벗 어 나 도록 도와 준다.
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.