zoukankan      html  css  js  c++  java
  • python初级(302) 6 对象(三)

    一、复习

    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)

    就可以使用get_area()分别计算它们的面积:

    my_triangle.get_area() 
    
    my_square.get_area()

    每个形状都使用了方法名get_area(),  不过每个形状中这个方法做的工作不同,这就是一个多态的例子。

    :相同的方法名,不同的工作(实现)。

     

    四、作业:

    1、将课堂完成的三角形类和正方形类写在一个文件shap.py中, 然后分别创建各自对象,完成面积的计算。

    2、根据正方形类,生成10个不同的正方形对象,分别计算出边长为1到10的正方形面积

  • 相关阅读:
    第11周学习进度条
    人月神话阅读笔记03
    人月神话阅读笔记02
    第10周学习进度条
    对各团队的评价意见
    第九周学习进度条
    《构建之法阅读笔记05》
    站立会议10
    第十一周学习进度
    cnblogs.com的用户体验
  • 原文地址:https://www.cnblogs.com/luhouxiang/p/11874642.html
Copyright © 2011-2022 走看看