一、私有属性和私有方法 1、应用场景及定义方式 1)应用场景 在实际开发中,对象的某些属性或方法可能只希望在对象的内部使用,而不希望在外部被访问到 私有属性:就是对象不希望公开的属性 私有方法:就是方法不希望公开的方法 2)定义方法 在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法 二、新式类和旧式类 新式类和旧式(经典)类: object是Python为所有对象提供的基类,提供有一些内置的属性和方法,可以使用dir函数查看 新式类:以object为基类的类,推荐使用 经典类:不以object为基类的类,不推荐使用 在python3.X中定义的类时,如果没有指定父类,会默认使用object作为基类--python3.x中定义的类都是新式类 在python2.x中定义类时,如果没有指定父类,则不会以object作为基类 ####推荐使用新式类############# 新式类和旧式类在多继承时---会影响到方法的搜索顺序 为保证编写的代码能够同时在python2.x和python3.x运行 今后在定义类时,如果没有父类,建议统一继承自object 定义新式类: 定义旧式类: 三、继承中的私有属性和私有方法 类的私有属性和私有方法 1.子类对象不能在自己的方法内部,直接访问父类的私有属性和私有方法 2.子类对象可以通过父类的公有方法间接访问到私有属性或私有方法 私有属性,私有方法是对象的隐私,不对外公开,外界以及子类都不能直接访问 私有属性,私有方法常用做一些内部的事情 运行结果为访问到的私有属性和私有方法: