封装看This,继承看Base
为什么要使用This关键字呢?大家可能会回答This代表当前对象!是!
在开发过程中,我们会作很多的模版即类,在类里面定义成员属性,成员方法,静态变量,静态方法等。
那么静态的东西是没有This的。上面我们所说的This其实就是一个指针,用于指向当前对象,为什么要指向当前对象呢?因为类的实例对象里面只有数据!而使用对象的方法需要到类里面调用!方法存在于类里面!在开发过程一个类可能会有很多实例对象(可不是单例的那种情况),这时候用This来告诉编译器是哪个对象调用的方法。
为什么要使用Base呢?JAVA里面是Super。大家可能又会回答代表父类,是!
所谓的可以访问其实就是能够找到,知道相应的地址!例如一个基类A ,一个A的派生类B,B会继承A中的非私有的东西。因而B可以使用从A那里继承过来的成员。
上面说道能够使用,能够访问其实就是在内存可以找到或者知道从A继承过来的成员的地址。这通过什么来实现的呢?就是Base。其实Base也是一个指针,它就是一个指向父类的指针!当实例化一个对象后,会在内存开辟空间。如上面的B是开辟两个空间首先会开辟A实例化对象的空间,然后在开辟B 实例化对象的空间,其实两个空间不一定连续的,但是我们常看作是连续的。这时This指针指向自己,Base指针指向基类的对象!
浙公网安备 33010602011771号