专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

面向对象的特点有哪些,面向对象的特点主要概括

来源:小易整编  作者:小易  发布时间:2022-12-26 03:40
摘要:面向对象的特点有哪些,面向对象的特点主要概括面向对象的特点封装:创建一个对象,集中保存一个事物的属性和功能继承:父对象中的成员,子对象无需重复创建,就可直接使用多态:同一个函数在不同情况下表现出不同的状态封装创建对象的方法:newObj...

面向对象的特点有哪些,面向对象的特点主要概括

面向对象的特点

封装:创建一个对象,集中保存一个事物的属性和功能

继承:父对象中的成员,子对象无需重复创建,就可直接使用

多态:同一个函数在不同情况下表现出不同的状态

面向对象的特点有哪些,面向对象的特点主要概括

封装

创建对象的方法:

{}

new Object

构造函数

为什么要使用构造函数?

    用{}一次只能创建一个对象。如果想创建多个相同结构的对象时,代码就会很多重复,极其不便于将来的维护。只要想反复创建多个相同结构, 只是内容不同的对象时,都可以用构造函数。

构造函数:

    描述同一类型的所有对象的统一结构的函数。

为什么要使用构造函数?

    复用代码。

如何使用构造函数:

    第一步:定义构造函数

function 函数名(形参1, 形参2, ...){  //将来要加入到新对象中的规定的属性  this.属性名=形参1;  this. xxx = xxx;  this.方法名=function(){ ... this.属性名 ... }}

    第二步:使用new调用函数

var 对象名=new 函数名(实参值1, 实参值2, ...

构造函数原理:

    实参传给形参,形参传给属性,属性通过this传给new出来的对象。

new做了什么?

创建一个新的空对象

让新创建的子对象继承构造函数的原型对象,设置子对象的__proto__属性指向构造函数的原型对象

调用构造函数,将构造函数中的this替换为new刚创建的新对象,并为新对象添加规定的属性和方法

返回新对象

继承

为什么要使用继承?

    将方法定义放在构造函数中,每次new时都会执行function反复创建相同函数的多个副本,浪费内存。

如何实现继承?

    js中继承都是通过原型对象实现的

构造函数.prototype.属性名 = 属性值构造函数.prototype.方法名 = function(){ /*...*/ }

原型对象:

    构造函数中都有一个自带的属性prototype,指向自己配对的原型对象。构造函数.prototype替所有子对象集中保存了共有属性值和方法。

何时使用原型对象?

    只要发现多个子对象都需要使用相同的功能和属性值时,都可将相同的功能和属性值集中定义在原型对象中。

内置类型:

    ES标准中规定的,浏览器已经实现,我们可以直接使用的类型。

    共12种(其中ES6之前有11种,ES6新增了一种):

        ES5:String、Number、Boolean、Array、Date、RegExp、Math、Error、Function、Object、global(全局作用域对象,在浏览器中被window代替)

        ES6:Symbol

原型链:

    在JavaScript中,每个函数都有一个prototype属性,这个属性指向函数的原型对象。当我们访问一个对象的属性时,先在对象内部查找,如果这个对象内部不存在该属性,就会去它的原型对象里找这个属性,这个原型对象又会有自己的原型,这种逐级继承形成的链式结构称为原型链。原型链的顶端是Object.prototype,Object.prototype.__proto__为null。

console.log(Object.prototype.__proto__ === null); // true

多态

多态的表现形式:

    例如:所有对象调用 toString结果竟然不一样

如何实现多态?

    重写:从父对象继承来的个别成员不好用时,就可以在子对象中定义同名成员, 来覆盖父对象中的同名成员。

总结

封装:

    如果只创建一个对象:{}

    如果反复创建多个相同结构的对象:构造函数

    继承

    所有子对象共用的属性值和方法,都放在构造函数的原型对象中

    多态:

    重写:只要觉得从父对象继承来的成员不好用,都可以在子对象中重写同名成员


本文地址:百科问答频道 https://www.neebe.cn/wenda/886365.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 面向对象编程是什么意思,面向对象编程详解

    面向对象编程是什么意思,面向对象编程详解

    面向对象编程是什么意思,面向对象编程详解面向对象的编程(Object-OrientedProgramming,OOP),每当看到这个术语,我们就会把它与Java联系起来。事实上,Java普及了面向对象的编程风格,除了Java之外,还有很多O...

  • 面向过程与面向对象的区别

    面向过程与面向对象的区别

    面向过程与面向对象的区别一、编程思想 编程的本质是逻辑,要想学好编程,不仅要掌握基本功——编程语言,更要培养良好的编程思想,面向过程和面向对象是两种重要的编程思想。数据结构与算法是编程能力,而不是编程思想。 优秀代码的原则:高复...

  • 面向对象的特点有哪些,面向对象的特点主要概括

    面向对象的特点有哪些,面向对象的特点主要概括

    面向对象的特点有哪些,面向对象的特点主要概括面向对象的特点封装:创建一个对象,集中保存一个事物的属性和功能继承:父对象中的成员,子对象无需重复创建,就可直接使用多态:同一个函数在不同情况下表现出不同的状态封装创建对象的方法:{}newObj...

  • 面向对象的特征有哪些,java的面向对象三大特征

    面向对象的特征有哪些,java的面向对象三大特征

    面向对象的特征有哪些,java的面向对象三大特征Java基础-面向对象三大特性封装继承多态类图泛化关系(Generalization)实现关系(Realization)聚合关系(Aggregation)组合关系(Composition)关联...

  • 周排行
  • 月排行
  • 年排行

精彩推荐