javascript的面向对象

javascript的面向对象

面向对象的特点分为三类:继承 封装 多态
首先你得理解面向过程:假如把一件东西放到一个箱子里,面向过程就是第一部打开箱子,然后把东西放进去,然后关闭箱子:
面向对象:就是把箱子看成一个对象,这个对象有属性比如说长宽高尺寸这些,他还有一个功能就是装东西.装东西这个就I相当于一个函数
我自己写了一点代码,希望能帮到大家
//万物皆对象

//属性 方法      单一对象
var jiang = {
 hair:"长发",
 age:23,
 sex:"女",
 run:function(){
 	console.log("我会走路");
 }
};

var wu = {
 hair:"短发",
 age:24,
 sex:"男",
 run:function(){
 	console.log("我会走路");
 }
};


//构造函数
function Student(hair,age){
 this.hair = hair;
 this.age = age;
}
Student.prototype.run = function(){
 console.log("我会走路");
}

var jj = new Student("长发",23);
var wu = new Student("短发",24);

console.log(jj.hair);

//对象和类
//类是由对象泛华(抽象)出来的类
//对象是由类创建出来的
//对象叫类的具体实例




//继承

function Person(name,age,sex){
 this.name = name;
 this.age = age;
 this.sex = sex;
}
Person.prototype.run = function (){
 console.log("走");
}
Person.prototype.eat = function (){
 console.log("吃");
}

//吴 完成了 继承 姜类的属性方法

//完成了继承
function SuperMan(name,age,sex,fuzhuang){
 Person.apply(this.aryuments);//继承了父类的属性
 //自己的属性
 this.fuzhuang = "fuzhuang";
}
SuperMan.prototype = Object.create(Person.prototype);//继承了父类的方法

//自己的方法
SuperMan.prototype.fly = function(){
 console.log("飞");
}
var wj = new Person("吴",24,"男","西服");
var jhy = new Person("姜",23,"女");
一、 继承
继承是面向对象的三大特征之一,也是实现代码复用的重要手段。Java的继承具有单继承的特点,即只能继承自一个父类,每个子类只有一个直接父类,但是其父类又可以继承于另一个类,从而实现了子类可以间接继承多个父类,但其本质上划分仍然是一个父类和子类的关系。
二、封装
封装性就是把类(对象)的属性和行为结合成一个独立的相同单位,并尽可能隐蔽类(对象)的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。封装的特性使得类(对象)以外的部分不能随意存取类(对象)的内部数据(属性),保证了程序和数据不受外部干扰且不被误用。
三、多态
多态性是指在继承关系中的父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各子类类中具有不同的含义。
原文地址:https://www.cnblogs.com/jianghongyan/p/7183455.html