啥是面向对象

一、面向对象

  1. 面向对象是一种编程思想,最基本的数据单位是对象,而不是基本类型。
  2. 特点:封装 继承 多态化
    封装:把一堆相关的数据封装到一起形成一个有机的类;
    继承:子类自动拥有父类的所有属性和方法,继承是程序复用性的体现。
    多态:解决同一个问题有不同的方法。
  3. 类:是复杂的数据类型,包括了很多数据类型。
  4. 对象:对象是类的举例说明

二、普通函数和构造函数的区别

  1. 函数名的首字母大写
  2. 构造函数通过new用算符调用的
  3. 构造函数内部,在预编译时会增加var this=new Object()
  4. 构造函数没有返回值,但是其实是有的;预编译时会增加返回值 预编译时,会增加return this;

三、判断一个对象是不是某个函数的(类)创建的;

instanceof

json定义对象的缺点:
1、代码复用性不好
2、没法确定若干个对象是否属于同一类别。而构造函数可以使用instanceof进行判断

用 构造函数的方法创建类:Es5
function Person(id,name){
thisname=name
this.id=id;
this.eat=function(str){
alret(this.name+“zai”+str)
}

}
ler p1=new person(“1”,“baobaoi”);

ES5- 的构造函数的缺点:

1)、造成内存的浪费:

​ 如果把类的方法写在构造函数里面,就会造成内存的浪费(每调用一次构造函数,都会定义一个类的方法)

2)、语法格式有点不利于阅读。

如果用构造函数和prototype(第六周时会给大家解惑)配合起来定义类的方式,不会造成内存的浪费,但是,可阅读性不好。

Es6创建类:使用class

class Person{
constructor(id,name){
thisname=name
this.id=id;
}
eat(str){
alert(this.name+“在吃”+str);
}
}
let p=new Person(“003”,“jiauou”)

六、面向对象和面向过程的区别

1、相同点:都是编程的思想(思维)

在完成项目时,使用不同的思维完成项目的功能。

2、不同点:
2.1 、从编程的步骤:

1)、面向过程(函数):

​ 做小的项目时,会使用面向过程的思路完成

​ 第一步:先思考项目的流程,流程中的每一步就是一个模块(功能:就是个函数)。

​ 第二步:我们实现每个函数(定义每个函数),在定义函数时,就需要考虑到数据(形参或者变量)。

2)、面向对象:

​ 做大型项目时,会使用面向对象的思路完成。

​ 第一步:要考虑的是项目中需要的类(属性和方法)。

​ 第二步:实现流程(new出对象,调用对象的方法)

​ 第一步做什么,第二步做什么。

2.2、从描述和理解上

1)、面向过程:

​ 在面向过程里,每个函数和变量没有所属。所以调用函数时,前面都没有对象。

​ 所以,在面向过程里,描述时,没有主语,如:先干啥,再干啥

​ 面向过程相当于: 单干(一个人做事情)

2)、面向对象里:

​ 在面向对象里,每个函数(方法)和变量(属性)都有所属,调用函数时,前面有对象。

​ 所以,在面向对象里,描述时,有主语,如:谁先干啥,谁再干啥

​ 面向对象相当于: 团队配合(多个人做事情)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值