1:面向对象的三大特征
1.1封装
【注】如果确实想要访问私有属性可以通过(对象名._类名__属性名)进行访问。
【注】dir(对象名)可以查看对象包括哪些属性和方法。
1.2继承
1.2.1object类
[注]object类中方法__str__()的重写
重写之前print(stu)会调用父类的__str__()输出的是对象的内存地址,重写之后print(stu)输出的是“我的名字是.........”
1.2.2重写
【注】无论是父类的什么方法或者是属性(私有属性除外)都可以被重写。
1.3多态
【注】静态语言(java)和动态语言(python)实现多态的区别:静态语言实现多态必须满足3个条件:继承,方法重写,父类引用指向子类对象。就例如:上面的Person()必须是继承某个父类并且eat()方法是重写的父类的eat方法。而动态语言(python)便不需要。