一、在类的实例化方法中访问实例化变量以及类变量
首先还是创建一个包括实例化变量,实例化方法以及类变量在内的一个对象
1、如果我们需要在 speak() 里面访问类的变量以及实例化变量的话,我们就需要在方法中直接获取参数
a、获取实例化变量
b、获取类变量
2、类方法,类方法与实例化方法是没有什么区别的,只是为了方便修改类的变量或者,给类添加一些动作
我们可以直接修改类的变量 addr,可以看见是真的修改了,而不是临时修改
3、静态方法
执行结果
4、成员可见性
如果这么写的话,那么是不会有任何的问题的,成员变量以及成员方法都是可以访问的
那么我们可以在方法或者变量前面加上一个 __ 来声明不可见也就是私有化
可以看见,我们在添加了__后是无法访问的,包括成员变量以及成员方法
然后我们在查看其中的变量的时候会发现,是不是很惊喜,你会发现你的变量之前不仅出现了__,还出现了_Person,那么我们访问一哈
emmmmmmmmmm,这就是换了个名字好伐,我还以为真的没法访问了
二、继承
1、首先是编些父类以及子类,然后我们先实例化一下父类一会要用到,python中的继承只需要在子类中写上父类对象即可
2、实例化子类,我们会发现报错了,因为我们的父类中实例化是需要参数的,所以,我们子类也必须有参数才行
我们会发现,当实例化了子类的时候,并不是将父类的变量或者方法改变了
在java中继承之后可以重写方法,python中也是可以的
3、super关键词
上面是我定义的父类以及子类,我们如果想在定义子类的时候也在父类中定义或者执行父类中的一些函数,那么我们可以用我在子类中定义的方法,直接执行函数就行,但是我们可以看到,执行的时候如果你的父类名称改变,那么你的这些方法都得改变是很麻烦的一件事,那么我们就得想怎么才能减少这些问题,这就可以使用super关键字了