面向对象的三大特征:封装、继承和多态

类,对象,属性,方法

    class TheFirstDemo:
        '''这是一个学习Python定义的第一个类'''
        # 下面定义了一个类属性
        add = 'http://c.biancheng.net'
        # 下面定义了一个say方法
        def say(self, content):
            print(content)

在创建类时,我们可以手动添加一个 ____init__() 方法,该方法是一个特殊的类实例方法,称为构造方法(或构造函数)。init() 方法可以包含多个参数,但必须包含一个名为 self 的参数,且必须作为第一个参数.
定义类的对象(实例化)的方法: 类名(参数)
定义类时,如果没有手动添加 init() 构造方法,又或者添加的 init() 中仅有一个 self 参数,则创建类对象时的参数可以省略不写。
self 代表该方法的调用者,即谁调用该方法,那么 self 就代表谁。

   class Person:
        def __init__(self):
            print("正在执行构造方法")
        # 定义一个study()实例方法
        def study(self):
            print(self,"正在学Python")
    zhangsan = Person()
    zhangsan.study()
    lisi = Person()
    lisi.study()

上面代码中,study() 中的 self 代表该方法的调用者,即谁调用该方法,那么 self 就代表谁。因此,该程序的运行结果为:

正在执行构造方法
<main.Person object at 0x0000021ADD7D21D0> 正在学Python
正在执行构造方法
<main.Person object at 0x0000021ADD7D2E48> 正在学Python
类方法与实例方法
python类封装

1.默认情况下,Python 类中的变量和方法都是公有(public)的,它们的名称前都没有下划线(_);
2.如果类中的变量和函数,其名称以双下划线“__”开头,则该变量(函数)为私有变量(私有函数),其属性等同于 private。

python类继承
子类拥有父类所有的属性和方法,即便该属性或方法是私有(private)的。使用多继承经常需要面临的问题是,多个父类中包含同名的类方法。对于这种情况,Python 的处置措施是:根据子类继承多个父类时这些父类的前后次序决定,即排在前面父类中的类方法会覆盖排在后面父类中的同名类方法。
super():子类中定义构造方法,必须在该方法中调用父类的构造方法。调用父类构造方法的方式有 2 种,分别是:

1.类可以看做一个独立空间,在类的外部调用其中的实例方法,可以向调用普通函数那样,只不过需要额外备注类名(此方式又称为未绑定方法);
2.使用 super() 函数。但如果涉及多继承,该函数只能调用第一个直接父类的构造方法。

super().init(self,···)

class People:
    def __init__(self,name):
        self.name = name
    def say(self):
        print("我是人,名字为:",self.name)
class Animal:
    def __init__(self,food):
        self.food = food
    def display(self):
        print("我是动物,我吃",self.food)
class Person(People, Animal):
    #自定义构造方法
    def __init__(self,name,food):
        #调用 People 类的构造方法
        super().__init__(self,name)
        #super(Person,self).__init__(name) #执行效果和上一行相同
        #People.__init__(self,name)#使用未绑定方法调用 People 类构造方法
        #调用其它父类的构造方法,需手动给 self 传值
        Animal.__init__(self,food)    
per = Person("zhangsan","熟食")
per.say()
per.display()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 夜莺2517阅读 127,834评论 1 9
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,756评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 7,541评论 2 9
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 11,358评论 4 8

友情链接更多精彩内容