一.面向对象
什么是面向对象?
答:面向对象是一种解决问题的思路,一种编程思想。
面向对象与面向过程的区别: 举个例子,面向过程就是指
一个人想吃饭,需要进行:出门->买菜->回家->做饭->吃饭(这是面向过程)
而面向对象可以用:
叫外卖->外卖员送->吃饭 来表示
面向对象的好处
易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
面向对象的三大特征
封装 继承 多态
二.对象
对象的概述
对象: 万事万物都是对象
JS中的对象:
是键值对的集合, 对象是指从现实中抽象出的对象, 我们使用对象模拟现实中的具体联系;
对象的创建:
一、基本模式
var person = new Object();
person.name = "老张";
person.weapon = "刀";
person.run = function () { return this.name + "武器是" + person.weapon;
}
二、工厂模式
function creatPerson(name, weapon) { var person = new Object();
person.name = "老张";
person.weapon = "刀";
person.run = function () { return this.name + "武器是" + person.weapon;
} return person;
}
三、构造函数模式
function creatPerson(name, weapon) {
this.name = name;
this.weapon = weapon;
this.run = function () {
return this.name + "武器是" + this.weapon;
}
} //调用创建对象
var laozhang=new creatPerson("老张", "刀");
构造函数的使用注意事项
1.默认函数首字母大写
2.构造函数并没有显示返回任何东西。new 操作符会自动创建给定的类型并返回他们,当调用构造函数时,new会自动创建this对象,且类型就是构造函数类型。
3.也可以在构造函数中显示调用return.如果返回的值是一个对象,它会代替新创建的对象实例返回。如果返回的值是一个原始类型,它会被忽略,新创建的实例会被返回。