码迷,mamicode.com
首页 > Web开发 > 详细

浅谈js面向对象与深入php面向对象

时间:2019-05-22 09:22:28      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:什么是对象   自己   type   父类   基类   改变   图片   png   浅谈   

js面向对象:

  类?什么是类?类是一些具有相同特征的对象的集合

  什么是对象?就是具体到某一个事物了,都可以叫做对象

类,通过function定义类,在js里类的本质是函数

类和函数天生有两个属性,一个是prototype,一个是__proto__

  prototype又是一个对象天生就有一个constructor的属性,属性值是函数和类本身

  普通对象天生有一个__proto__的属性,这个属性是对象,指向它的父类

什么是原型链?原型链就是操作obj.属性的时候,首先看这个属性是私有的还是公有的,私有的有就直接使用,私有没有的话就看公有的,公有的有就使用,没有就通过__proto__向父类的原型上查找,有就使用,没有就继续向上查找,知道基类object为止。

引用关系:

  技术图片

上图两者的区别:

  前者不会改变原有的引用关系,而后者会改变原有的引用关系

php面向对象:

  类的创建,通过class创建类

  技术图片

  创建对象需要使用new关键字

技术图片

类 成员的添加与访问:

  类成员有属性,方法和常量

  添加属性需要使用范围修饰符:

      1、public :类外,类内,子类都可以访问

      2、protected:在类内和子类内访问

      3、private:只能在自己的类内访问

  访问属性的时候变量名不带$符

  添加方法,如果方法前不带修饰符,则默认是public

  添加常量:使用关键字const,格式:

      技术图片

类内部对象$this和内存原理

   $this他是一个对象,指向实例化的哪个对象

技术图片

当我们new实例化的时候,系统会给这个对象分配一个内存空间,内存空间分一个栈内存,一个堆内存,将变量存在栈里,将代码块存在堆里,然后将堆内存地址指向栈中的变量,如果再给这个栈中的变量赋值引用数据类型,那么这个内存地址会被更改。

技术图片

 

浅谈js面向对象与深入php面向对象

标签:什么是对象   自己   type   父类   基类   改变   图片   png   浅谈   

原文地址:https://www.cnblogs.com/wkxdd/p/10679912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!