VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 学习python第九天 封装,私有属性,私有方法,多态,

封装:被认为是一个类的保护屏障。防止该类的代码和数据被外部类定义的代码随机访问

比如狗只有被打了才会减少生命值,但是外部也可以直接修改。为了防止外部直接修改类中的数据,所以需要封装

封装的话用到了私有属性,之前文章写的__init__中的就是私有属性写错了。应该是实例属性。封装的话用到的才是私有属性。例如:

class Person:

  def __init__(self,name,age):

    self.name = name

    self.age = age

    self.__live = 100                #属性名前加两个下划线,代表把这个实例属性变成了私有属性。这样子在外面是无法更改也无法访问的。但是私有属性在内部是可以访问到。

def __breath(self):                     #定义私有方法,其性质和私有属性一样

    print("私有方法")

  def attack(self):

    self.breath()                #内部调用私有方法

    print(self.__live)      #只有用类中的函数才能访问私有属性。外部只读不能改        

    return self.__live

a = Person("jack",12)

a._Person__breath()             # 强行外部调用私有方法。   规则:实例.类名和私有方法名() 

a._Person__live = 50           #强行外部修改私有属性

多态用的比较少,我就不写了。主要是懒

来源:https://www.cnblogs.com/xiaoyuheng/p/14617225.html

 


相关教程