python 초급(302)6 대상(3)

2875 단어

복습


1、마법 방법은 무엇입니까?
2. 클래스의 초기화 함수는 무엇입니까?

 


무엇이 self


클래스를 사용하여 다음과 같은 여러 객체 인스턴스를 작성할 수 있습니다.
ball1 = Ball(“red”, “small”, “down”)
ball2 = Ball(“red”, “medium”, “up”)
그 중의 실례적인 방법을 호출할 때 다음과 같이:ball1.bounce()
방법은 어느 실례가 그것을 호출하는지 알아야 한다.self 매개 변수는 어떤 대상이 그것을 호출하는지 알려준다.이를 인스턴스 참조라고 합니다.
호출 방법 시,ball1.bounce () 의 괄호에는 파라미터가 없습니다. 이것은 Python 처리 대상의 마법입니다. 클래스 방법을 호출할 때, 우리가 어떤 실례를 호출하면 그 대상은 실례를 인용하여 자동으로 방법에 전달합니다.
앞의 호출도 Ball로 쓸 수 있습니다.bounce(ball1)
작은 지식: 모든 종류의 이름은 일반적으로 대문자로 시작하는 단어 조합: Ball, HotDog

 


다태


다태: 같은 방법, 다른 행위
Triangle 클래스와 Square 클래스 모두 get 이라는 이름이 있습니다.area () 방법입니다.다음과 같은 두 가지 유형의 인스턴스가 있습니다.
class Triangle:
    """
     
    """
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def get_area(self):
        area = self.width * self.height / 2.0
        return area


class Square:
    """
     
    """
    def __init__(self, size):
        self.size = size

    def get_area(self):
        area = self.size * self.size
        return area

먼저 인스턴스를 생성합니다.
my_triangle = Triangle(4, 5) 

my_square = Square(7)

getarea()는 각각 영역을 계산합니다.
my_triangle.get_area() 

my_square.get_area()

모양마다 방법명 get 을 사용했습니다.area (), 그러나 모양마다 이 방법이 하는 작업이 다르다. 이것이 바로 다태적인 예이다.
같은 방법명, 다른 작업(실현).

 


4. 숙제:


1. 교실에서 완성된 삼각형 클래스와 정사각형 클래스를 파일shap.py에서 각각 대상을 만들고 면적 계산을 완성합니다.
2. 정사각형류에 따라 10개의 서로 다른 정사각형 대상을 생성하고 각 변의 길이가 1에서 10인 정사각형 면적을 계산한다.

좋은 웹페이지 즐겨찾기