码迷,mamicode.com
首页 > 编程语言 > 详细

python面向对象--私有和继承

时间:2019-01-11 22:18:17      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:直接   需求   code   python   int   pre   bsp   span   面向   

一、 私有属性和私有方法

应用场景

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

私有属性 就是 对象 不希望公开的属性 (属性即类里面的变量)

私有方法 就是 方法 不希望公开的方法

定义方式

在定义属性或方法时,在属性名或者方法名前添加两个下划线,定义的就是私有属性或方法,只能在类里面用。

class My:
    def test(self):
        self.__password = 123456  #私有属性
    def say(self):
        print(password,self.__password)
    def __set_password(self):  #私有方法
        self.__password = 7890
    def update(self):
        self.__set_password()

m = My()
m.test() #无输出结果
m.say() #输出:password 123456
m.update() #无输出结果
m.say() #输出:password 7890

参考:https://www.2cto.com/os/201807/763010.html

 

二、继承

子类继承自父类,可以直接享受父类中已经找到封装好的方法

子类中应该根据自己的需求,封装子类特有的属性和方法

单继承

1,继承的概念 语法和特点

继承的概念:子类拥有父类的所有方法和属性(子类只需封装自己特有的方法和属性)

2,继承的语法

class 类名(父类)

def 子类特有的方法

class Lm:
    money = 1000000
    house = 5
    def driver(self):
        print(会开车)

class Mcb(Lm):
    def about_me(self):
        print(我有 %s 钱 ,%s 房子%(self.money,self.house))
        self.driver()

    def driver(self):
        print(会开28个轮子的汽车)


m = Mcb()
m.driver() #输出:会开28个轮子的汽车
m.about_me()
#以上代码输出:
会开28个轮子的汽车
我有 1000000 钱 ,5 房子
会开28个轮子的汽车

继承的传递性:(爷爷 父亲 儿子)

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

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

子类拥有父类以及父类的父类中封装的所有的属性和方法

参考:https://www.2cto.com/os/201807/763010.html

python面向对象--私有和继承

标签:直接   需求   code   python   int   pre   bsp   span   面向   

原文地址:https://www.cnblogs.com/denise1108/p/10257476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!