简单的认识 前端面向对象和PHP面向对象

一、前端面向对象

1、大概了解一下对象

对象:为了解决比较复杂的问题,将现实世界的实体抽象为计算机的一个概念,即将对象(Object)提炼为相关的变量和方法的集合

1.1:狭义对象:对象数据类型Object,就是{}括起来。它是一组无序的属性集合。

1.2:广义对象:在JS中,只要具有属性和方法的都可以成为对象。例如:数组、window对象、Dom、字符串等等。

2、对象的属性和方法

JavaScript中提供多个内建对象,比如string、Date、Array等等。

对象只是带有属性和方法的特殊数据类型

2.1:属性:作用跟变量一样,差别就是属性是属于对象的变量,而变量是自由的。

2.2:方法:作用跟函数一样,差别就是方法是属于对象的函数,而函数时自由的。

3、创建JavaScript对象

3.1:由对象字面量创建

3.2:由内键对象Object创建

3.3:由构造函数构造出来,然后创建新的对象实例

3.4:由函数Object.create()创建(ES5)

4、熟悉原型概念

4.1.原型是什么东西(prototype)?

prototype是构造函数的一个专有属性

简单说明:扩展系统对象的功能

没创建一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象。该对象的用途是包含所有实例共享的属性和方法。也就是说,我们可以所有的属性和方法添加到原型对象上去。

4.2.原型模式的优缺点

优点:添加在原型对象上的属性和方法,所有实例都可以共享使用,大量减少对象使用的内存空间。

缺点:1.不能像构造函数模式传递实参,导致创建实例对象属性和方法都是一样。 2.每次在实例上添加自己的属性,新添加的属性“优先级”较高(会覆盖原型对象上的属性)

4.3.prototype和__proto__的概念

prototype是构造函数的一个专有属性,这个属性是一个指针,指向一个对象

__proto__是一个对象拥有的内置属性(注意:prototype是函数的内置属性,__proto__是对象的的内置属性),在js内部使用寻找原型链的属性。

5、继承

继承有很多种例如:混入式继承、模拟继承、经典继承等等。

继承:建立一个基础对象的构造函数,在建立一个继承对象的构造函数,然后用prototype实现对象的继承。

6、this的指向

6.1.在全局中,this指向window

6.2.在绑定事件的处理函数中使用this,this指向事件源

6.3.在对象的方法中使用this,this 指向对象本身

6.4.在定时器中调用的函数中只用this,this指向window

6.5.在数组中存放的函数中使用this,被数组下标返回后加括号调用,this指向该数组

7、构造函数的了解

构造函数模式创建对象,必须使用new操作符,因为能够产生一类具有相同属性的对象,所以称之为构造函数模式

构造函数模式创建对象实际上经历了四个步骤

7.1:先创建一个新的空对象{}

7.2:将构造函数的作用域赋值给新对象(将构造函数的this 指向这个新对象)

7.3:执行构造函数中的代码(为新对象添加属性和方法)

7.4:返回这个新对象。

优点:1.可以动态创建和编译一个函数,不会把开发人员限制在function语句编译的函数结构体当中。 2.能够把函数当做表达式来使用,而不是当做一个结构固定的语句。

缺点:每次调用时,都要进行编译,如果在循环结构中或者经常调用函数时,会影响执行效率。

二、大概的说一下PHP面向对象

1、什么是类?

具有相同属性和方法的一系列个体的集合,类是一个抽象的概念

2、什么是对象?

从类中,拿到的具有具体属性值的个体,称为对象。对象是一个具体的个体。

3、php中静态属性和静态方法

php静态属性和静态方法定义形式也需要使用关键字“static”。

类如何防止静态属性:1.范围解析操作符(::) 2.静态属性前面加$

静态方法中不能使用$this关键字$this是实例对象,而对象不能访问静态成员

4、继承js

4.1.原型继承:将父类的实例赋值给子类的原型

4.2.call继承:call方式是函数/类,天生自带的一个方法。将父类私有的继承为子类私有的

4.3.冒充对象继承:将父类私有的和公有的都继承为子类私有的。使用for in

4.4.混合继承:私有的继承为私有的,私有的和公有的再次继承为公有的

5、call和apply的区别

1.call可以传多个参数,apply只能穿两个参数

2.call和apply都是修改函数中this 的指向的

3.第一个参数都是对象,用于替换函数中的this 的,如果不想替换this 携程null就行

6、前端提交数据的方法

6.1:Get

6.2:Post

6.3:Put

6.4:Delete

6.5:Options

6.6:Head

6.7:Trace

6.8:Connect

7、多态

PHP是弱类型语言,没有多态这个概念,有重载。 重载:子类和父类的方法,多态是强类型语言才有的。

8、抽象类

通过关键字abstract定义的类都是抽象类

只要类中的方法被定义为抽象方法,那么这个类一定都是抽象类,抽象方法必须是空。

9、常量

类中使用关键字const定义常量成员,类中访问常量使用self

10、析构方法

析构方法不能带形参,自然也不能带实参,但是可以使用$this关键字代表当前被销毁的对象。

11、魔术常量

11.1:__LINE__ 返回当前代码位于PHP文件中第多少行

11.2:__FILE__ 返回当前文件所处的绝对位置带文件名

11.3:__DIR__ 返回当前文件所在的目录

11.4:__FUNCTION__ 返回所在函数被定义的名字

12、超级全局变量

12.1:$GLOBALS 所有全局的东西都存在这里

12.2:$_SERVER 所有服务方面的信息村在这里

12.3:$_REQUEST

12.4:$_POST 客户端post提交的数据都存在这里

12.5:$_get 客户端get提交的数据都存在这里

12.6:$_COOKIE

12.7:$_SESSION 他们都是数组

13、运算

13.1:四则运算 返回的是计算结果

13.2:比较运算 返回的是true和false

13.3:==是比较运算符,只比较值 不比较类型 ===即比较值也比较类型

13.4:逻辑运算符 || && !

13.5:自增自减 a++ ++a a-- --a

13.6:三元运算 条件?表达式1:表达式2

14、php的数据类型

integer、Boolean、string、float/double、array、object、resource、null

一、前端面向对象

1、大概了解一下对象

对象:为了解决比较复杂的问题,将现实世界的实体抽象为计算机的一个概念,即将对象(Object)提炼为相关的变量和方法的集合

1.1:狭义对象:对象数据类型Object,就是{}括起来。它是一组无序的属性集合。

1.2:广义对象:在JS中,只要具有属性和方法的都可以成为对象。例如:数组、window对象、Dom、字符串等等。

2、对象的属性和方法

JavaScript中提供多个内建对象,比如string、Date、Array等等。

对象只是带有属性和方法的特殊数据类型

2.1:属性:作用跟变量一样,差别就是属性是属于对象的变量,而变量是自由的。

2.2:方法:作用跟函数一样,差别就是方法是属于对象的函数,而函数时自由的。

3、创建JavaScript对象

3.1:由对象字面量创建

3.2:由内键对象Object创建

3.3:由构造函数构造出来,然后创建新的对象实例

3.4:由函数Object.create()创建(ES5)

4、熟悉原型概念

4.1.原型是什么东西(prototype)?

prototype是构造函数的一个专有属性

简单说明:扩展系统对象的功能

没创建一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象。该对象的用途是包含所有实例共享的属性和方法。也就是说,我们可以所有的属性和方法添加到原型对象上去。

4.2.原型模式的优缺点

优点:添加在原型对象上的属性和方法,所有实例都可以共享使用,大量减少对象使用的内存空间。

缺点:1.不能像构造函数模式传递实参,导致创建实例对象属性和方法都是一样。 2.每次在实例上添加自己的属性,新添加的属性“优先级”较高(会覆盖原型对象上的属性)

4.3.prototype和__proto__的概念

prototype是构造函数的一个专有属性,这个属性是一个指针,指向一个对象

__proto__是一个对象拥有的内置属性(注意:prototype是函数的内置属性,__proto__是对象的的内置属性),在js内部使用寻找原型链的属性。

5、继承

继承有很多种例如:混入式继承、模拟继承、经典继承等等。

继承:建立一个基础对象的构造函数,在建立一个继承对象的构造函数,然后用prototype实现对象的继承。

6、this的指向

6.1.在全局中,this指向window

6.2.在绑定事件的处理函数中使用this,this指向事件源

6.3.在对象的方法中使用this,this 指向对象本身

6.4.在定时器中调用的函数中只用this,this指向window

6.5.在数组中存放的函数中使用this,被数组下标返回后加括号调用,this指向该数组

7、构造函数的了解

构造函数模式创建对象,必须使用new操作符,因为能够产生一类具有相同属性的对象,所以称之为构造函数模式

构造函数模式创建对象实际上经历了四个步骤

7.1:先创建一个新的空对象{}

7.2:将构造函数的作用域赋值给新对象(将构造函数的this 指向这个新对象)

7.3:执行构造函数中的代码(为新对象添加属性和方法)

7.4:返回这个新对象。

优点:1.可以动态创建和编译一个函数,不会把开发人员限制在function语句编译的函数结构体当中。 2.能够把函数当做表达式来使用,而不是当做一个结构固定的语句。

缺点:每次调用时,都要进行编译,如果在循环结构中或者经常调用函数时,会影响执行效率。

二、大概的说一下PHP面向对象

1、什么是类?

具有相同属性和方法的一系列个体的集合,类是一个抽象的概念

2、什么是对象?

从类中,拿到的具有具体属性值的个体,称为对象。对象是一个具体的个体。

3、php中静态属性和静态方法

php静态属性和静态方法定义形式也需要使用关键字“static”。

类如何防止静态属性:1.范围解析操作符(::) 2.静态属性前面加$

静态方法中不能使用$this关键字$this是实例对象,而对象不能访问静态成员

4、继承js

4.1.原型继承:将父类的实例赋值给子类的原型

4.2.call继承:call方式是函数/类,天生自带的一个方法。将父类私有的继承为子类私有的

4.3.冒充对象继承:将父类私有的和公有的都继承为子类私有的。使用for in

4.4.混合继承:私有的继承为私有的,私有的和公有的再次继承为公有的

5、call和apply的区别

1.call可以传多个参数,apply只能穿两个参数

2.call和apply都是修改函数中this 的指向的

3.第一个参数都是对象,用于替换函数中的this 的,如果不想替换this 携程null就行

6、前端提交数据的方法

6.1:Get

6.2:Post

6.3:Put

6.4:Delete

6.5:Options

6.6:Head

6.7:Trace

6.8:Connect

7、多态

PHP是弱类型语言,没有多态这个概念,有重载。 重载:子类和父类的方法,多态是强类型语言才有的。

8、抽象类

通过关键字abstract定义的类都是抽象类

只要类中的方法被定义为抽象方法,那么这个类一定都是抽象类,抽象方法必须是空。

9、常量

类中使用关键字const定义常量成员,类中访问常量使用self

10、析构方法

析构方法不能带形参,自然也不能带实参,但是可以使用$this关键字代表当前被销毁的对象。

11、魔术常量

11.1:__LINE__ 返回当前代码位于PHP文件中第多少行

11.2:__FILE__ 返回当前文件所处的绝对位置带文件名

11.3:__DIR__ 返回当前文件所在的目录

11.4:__FUNCTION__ 返回所在函数被定义的名字

12、超级全局变量

12.1:$GLOBALS 所有全局的东西都存在这里

12.2:$_SERVER 所有服务方面的信息村在这里

12.3:$_REQUEST

12.4:$_POST 客户端post提交的数据都存在这里

12.5:$_get 客户端get提交的数据都存在这里

12.6:$_COOKIE

12.7:$_SESSION 他们都是数组

13、运算

13.1:四则运算 返回的是计算结果

13.2:比较运算 返回的是true和false

13.3:==是比较运算符,只比较值 不比较类型 ===即比较值也比较类型

13.4:逻辑运算符 || && !

13.5:自增自减 a++ ++a a-- --a

13.6:三元运算 条件?表达式1:表达式2

14、php的数据类型

integer、Boolean、string、float/double、array、object、resource、null

猜你喜欢

转载自www.cnblogs.com/yjz19/p/11392434.html