面向对象-03特性

简单了解了类和对象之后就可以,理解面向对象编程的特性了。

如下三大特性:

目录

封装

继承

多态


封装

        把数据和操作数据的方法存在一起,对外使用访问内部数据不会特别容易,使用类之后,需要通过对象才能调用类内部的属性和方法,减少代码之间的耦合性,不像面向过程,牵一发而动全身,较好维护。

        就像这样,现在有一个帅哥或美女学会了做饭(接水、洗菜、烧水等等做饭的一个个步骤)把这些步骤(过程)封装起来叫做一个类Cook,当需要使用的时候,现在你就是对象,然后让它去做饭,当然记得表达感谢。

        

# 定义一个类,叫做厨师
class Cook(object):
    def __init__(self, wash, fry):
        self.wash_ingredient = wash
        self.fry_ingredient = fry
# 定义一个洗菜方法
    def Wash(self):
        print(f'某个帅哥美女洗个{self.wash_ingredient}')
        self.Fry()
# 定义一个炒菜方法
    def Fry(self):
        print(f'某个帅哥美女&#炒个{self.wash_ingredient+self.fry_ingredient}')


# 创建一个Cook类的对象,调用类的方法
yourself = Cook('番茄', '牛肉')
yourself.Wash()

        

继承

        子类继承父类的属性和方法,可以扩展或重写父类的方法。

再定义一个子类TuDi,然后继承父类Cook的方法,然后根据对象的需求,进行扩展

class Cook(object):
    def __init__(self, wash, fry):
        self.wash_ingredient = wash
        self.fry_ingredient = fry

    def Wash(self):
        print(f'某个帅哥美女洗个{self.wash_ingredient}')
        self.Fry()

    def Fry(self):
        print(f'某个帅哥美女&#炒个{self.wash_ingredient + self.fry_ingredient}')


yourself = Cook('番茄', '牛肉')
yourself.Wash()


class TuDi(Cook):
    def __init__(self, wash, fry):
        super().__init__(wash, fry)


tudi = TuDi('土豆', '鸡肉')
tudi.Wash()

多态

        实现子类重写父类同名方法,实现

class Cook(object):
    def __init__(self, wash, fry):
        self.wash_ingredient = wash
        self.fry_ingredient = fry

    def Wash(self):
        print(f'某个帅哥美女洗个{self.wash_ingredient}')
        self.Fry()

    def Fry(self):
        print(f'某个帅哥美女&#炒个{self.wash_ingredient + self.fry_ingredient}')




class TuDi(Cook):
    def __init__(self, wash, fry):
        super().__init__(wash, fry)

    def Fry(self):
        print(f'炒的{self.wash_ingredient + self.fry_ingredient}非常的美味啊&')


yourself = Cook('番茄', '牛肉')
yourself.Wash()

tudi = TuDi('土豆', '鸡肉')
tudi.Wash()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值