python--------面向对象【私有属性和私有方法、继承、多态】

面向对象三大特性

  • 封装 根据 职责属性方法 封装 到一个抽象的
  • 继承 实现代码的重用,相同的代码不需要重复的编写
  • 多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度

私有属性和私有方法

  • 在实际开发中,对象某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到
  • 私有属性 就是 对象 不希望公开的属性
  • 私有方法 就是 对象 不希望公开的方法

定义方式
定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法

class Women:

    def __init__(self, name):
        self.name = name
        # 不要问女生的年龄
        self.__age = 18  #私有属性

    def secret(self):
        print("我的年龄是 %d" % self.__age)


xiaofang = Women("小芳")

# 私有属性,外部不能直接访问
#print(xiaofang.__age)   #会报错

xiaofang.secret()   #我的年龄是 18
class Women:

    def __init__(self, name):
        self.name = name
        # 不要问女生的年龄
        self.__age = 18  #私有属性

    def __secret(self):
        print("我的年龄是 %d" % self.__age)


xiaofang = Women("小芳")
# 私有属性,外部不能直接访问
#print(xiaofang.__age)

# 私有方法,外部不能直接调用
xiaofang.__secret()
class Women:

    def __init__(self, name):
        self.name = name
        # 不要问女生的年龄
        self.__age = 18  #私有属性

    def __secret(self):
        print("我的年龄是 %d" % self.__age)


xiaofang = Women("小芳")
# 私有属性,外部不能直接访问
#print(xiaofang.__age)   #会报错

# 私有方法,外部不能直接调用
# xiaofang.__secret()  #会报错

继承

单继承

继承的概念子类 拥有 父类 的所有 方法属性
在这里插入图片描述

1) 继承的语法

class 类名(父类名):

    pass
  • 子类 继承自 父类,可以直接享受父类中已经封装好的方法,不需要再次开发
  • 子类 中应该根据 职责,封装 子类特有的 属性和方法

2) 专业术语

  • Dog 类是 Animal 类的子类,Animal 类是 Dog 类的父类,Dog 类从 Animal 类继承

  • Dog 类是 Animal 类的派生类,Animal 类是 Dog 类的基类,Dog 类从 Animal 类派生

3) 继承的传递性

  • C 类从 B 类继承,B 类又从 A 类继承

  • 那么 C 类就具有 B 类和 A 类的所有属性和方法

class Animal:
    def eat(self):
        print('吃....')
    def drink(self):
        print('喝....')
    def run(self):
        print('跑....')
    def sleep(self):
        print('跑....')

class Dog(Animal):
    def bark
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值