python 面向对象 三大特征


大概所有变成初学者初学者最头疼的第一道坎就是面向对象的理解

封装

从封装本身去理解 就是把小猫小狗用袋子装起来,然后把袋子的小口封上

私有化方法:

方法的私有化可以保护好一些核心的代码,可以添加条件,是别人不能不满足条件的更改,进行代码的保护,python私有化以__方法名进行私有化

class Dog:
    def __set_age(self):
        print("信息发送成功")
    def get_dog(self,new_money):
        if new_money>=1:
            self.__set_age()
        else:
            print("余额不足请充值")
dog=Dog()
dog.get_dog(10)

隐藏属性:

不私有化的情况下对类的属性进行隐藏,添加条件判断,不满足条件则成为初始设定的值,也能完成核心代码的保护

class Dog:
    def set_age(self,new_age):
        if new_age>0 and new_age<=100:
            self.age=new_age
        else:
            self.age=0
    def get_dog(self):
        return self.age
dog=Dog()
dog.set_age(10)
#age是类方法里面的get_dog的返回值
age=dog.get_dog()
print(age)

继承

子类继承父类,子类调用父类里面的方法,继承可以使代码复用率变高,减少代码啊的书写,提高编程的效率

__init__方法

在继承之间介绍一下__init__方法:

在生成对象时调用,可以用来进行一些初始化操作,不需要显示去调用,系统会默认去执行。构造方法支持重载,如果用户自己没有重新定义构造方法,系统就自动执行默认的构造方法。

子类也可以称为 派生类,父类也可以称为 基类,所有类都继承object类 object类也是顶级父类

class A(object):
    def __init__(self):
        self.age=10
a=A()
print(a.age)

单继承

子类B继承了父类A,同时也得到了父类中的方法,
所以 子类B创建出来的对象b就能到用A中吃的方法

class A(object):
    def eat(self):
        print("我要吃泡面")
class B(A):
    pass
b=B()
b.eat()

多重继承

子类B继承了父类A,子类C又继承了父类B,这样的多重继承,最后的子类对象会沿着父类继承的那条路去找所属父类的方法

class A(object):
    def eat(self):
        print("我要吃泡面")
class B(A):
    pass
class C(B):
    pass
c=C()
c.eat()

多态

一种事物的多种体现形式,举例:动物有很多种。在Python中,多态指的是父类的引用指向子类的对象
理解表述:比如:Dog 和哮天犬同时介绍自己 哮天犬 有自己的介绍 Dog有属于自己的介绍

class Amile():
    def print_self(self):
        pass
class Dog(Amile):
    def print_self(self):
        print("我是大黄")
class xiaotq(Amile):
    def print_self(self):
        print("我是哮天犬")
def jieshao(temp):
    temp.print_self()
dog=Dog()
jieshao(dog)
dog2=xiaotq()
jieshao(dog2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值