类与方法 self, this 指针的由来

在类声明的时候,分为属性和方法,以PHP为例

class Student{
       Pubulic $name;
       Function introduce(){
           this->name = "lily";
       }
}
$stu1 = new Student;
$stu2 = new Student;
//1.new 关键词来分配内存
//2.初始化this self等指针,让这个指针指向内存
//3.初始化name属性,study()函数指针,

stu1,stu2对象实例化后,他们的属性存放在不同的区域,但是方法却只有一份,放在代码区.
当我们调用方式时

stu1 -> study();
stu2 -> study();

这两次调用,调用的都是同一代码区的代码,只是当对象stu1调用方法时候,通过stu1指针找到内存区域,在通过函数指针调用函数,同时会默认的传递一个指向自己内存的this指针,study方法以此指针获取自己的运行环境变量.

何为类:无非就是有自己运行环境的函数方法.

你可能感兴趣的:(类与方法 self, this 指针的由来)