面向对象、原型——prototype、用混合方式构造对象

    技术2022-07-11  81

    什么是对象 对象是一个整体,对外提供一些操作

    什么是面向对象 使用对象时,只关注对象提供的功能,不关注其内部细节 比如JQuery

    面向对象是一种通用思想,并非只有编程中能用,任何事情都可以用

    面向对象编程(OOP)的特点 抽象:抓住核心问题 封装:不考虑内部实现,只考虑功能使用 继承:从已有对象上,继承出新的对象 -多重继承 -多态

    对象的组成 方法——函数:过程、动态的 属性——变量:状态、静态的

    原型——prototype

    什么是原型 原型是class,修改他可以影响一类元素 在已有对象中加入自己的属性、方法 原型修改对已有对象的影响

    为Array添加sum方法 给对象添加方法,类似于行间样式 给原型添加方法,类似于class

    <script> var arr1=new Array(12,55,34,78,676); var arr2=new Array(12,33, 1); Array.prototype.sum=function () //class //arr1.sum=function () //行间样式 { var result=0; for(var i=0;i<this.length;i++) { result+=this[i]; } return result; }; alert(arr1.sum()); alert(arr2.sum()); //? </script> 原型的小缺陷 无法限制覆盖

    用混合方式构造对象

    原则 构造函数:加属性 原型:加方法 <script> function CreatePerson(name, qq) //构造函数 { this.name=name; this.qq=qq; } CreatePerson.prototype.showName=function () //原型 { alert('我的名字叫:'+this.name); }; CreatePerson.prototype.showQQ=function () { alert('我的QQ号:'+this.qq); }; var obj=new CreatePerson('blue', '258248832'); var obj2=new CreatePerson('张三', '45648979879'); obj.showName(); obj.showQQ(); obj2.showName(); obj2.showQQ(); alert(obj.showName==obj2.showName); </script>
    Processed: 0.016, SQL: 11