python--内部类和隐藏方法、类继承、多态

本文介绍了Python编程中的内部类、隐藏方法的概念,强调了内部类在减少代码冗余中的作用以及隐藏方法的实现方式。接着讨论了类的继承特性,包括继承的传递性、方法的重写以及子类对父类方法的直接使用。最后,探讨了多态的概念,解释了多态如何提高代码灵活性,并指出多态依赖于继承和方法重写,是调用方法的一种有效策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、内部类和隐藏方法

偶尔使用的类可以作为内部类,减轻代码工作量
不希望在对象实例中被访问的方法就是隐藏方法,通过在方法名称前加__前缀就可以实现隐藏方法

class student:
    def __init__(self,name,no):
        self.name=name
        self.no=no
        self.laptop=self.Laptop()
    def show(self):
        print(self.name,self.no)
    #内部方法隐藏
    def __show2(self):
        print("\n")
    class Laptop:
        def __init__(self):
            self.brand="DELL"
            self.cpu="i7"
            self.ram="16G"
tom=student("tom",1825)
tom.show()
print(tom.laptop)
print(tom.laptop.brand)
print(tom.laptop.cpu)

tom 1825
<__main__.student.Laptop object at 0x000001DC62922F10>
DELL
i7
2、类的继承

实现代码的重用,相同的代码不需要重复的编写

继承的传递性

  • C类从B类继承,B类又从A类继承 那么C类就具有B类和A类的所有属性和方法
  • 子类拥有父类以及父类的父类中封装的所有属性和方法

子类继承父类,可以直接享受父类中已经封装好的方法,不需要再次开发

方法的重写
当父类的方法实现不能满足子类的需求时,可以对方法进行重写

多继承

3、多态
  • #多态,不同的类中,有相同的方法,eat()
  • #多态,同一个类中,相同的函数,参数不一样,出现不同的状态

多态可以增加代码的灵活度
以继承和重写父类方法为前提
是调用方法的技巧,不会影响到类的内部设计

class animal:
    def __init__(self):
        print("这是动物类")
    def eat(self):
        print("动物吃东西")
#继承
class dog(animal):
    def __init__(self):
        print("这是狗类")
    #方法的重写
    def eat(self,x=None):
        #调取父类的方法
        #覆盖,保留新的功能(使用super),增添新的功能(小狗爱吃骨头)
        super().eat()
        if x==None:
            print("小狗爱吃骨头")
        else:
            print("小狗爱吃"+str(x))
#多态,不同的类中,有相同的方法,eat()
#多态,同一个类中,相同的函数,参数不一样,出现不同的状态
dog1=animal()
dog1.eat()

dog1=dog()
dog1.eat()
dog1.eat("鱼")

这是动物类
动物吃东西
这是狗类
动物吃东西
小狗爱吃骨头
动物吃东西
小狗爱吃鱼
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值