您的位置:首页 > 编程语言

简单说说如何上手面向对象编程?

2017-03-22 17:02 141 查看
javascript 无法创建类 函数来封装特定接口创建对象.面向对象语言有一个标志,即拥有类的概念,抽象实例对象的公共方法和属性,基于类可以创建任意多个实例对象!类的概念:在现实生活中,相似的对象之间往往都有一些共同的组成特征。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>The eighth group</title>
</head>
<body>

<script type="text/javascript">
/***
* 如何上手面向对象编程?
* 面向对象三大特性:封装,继承,多态
* javascript 无法创建类 函数来封装特定接口创建对象
* 面向对象语言有一个标志,即拥有类的概念,抽象实例对象的公共方法和属性,基于类可以创建任意多个实例对象!
* 类的概念:在现实生活中,相似的对象之间往往都有一些共同的组成特征。
***/

/***
* 创建对象
* 对象字面量方式, new关键字,object.create()函数来创建。
***/
//对象字面量方式
var Empty = {};//没有任何属性的对象
var Me ={
name: "beimeng",
hair: "black",
say: function(){
console.log("I am" + Me.name);
}
};
Me.say();
//new关键词创建对象
var obj = new Object();//创建一个空对象,和{}一样
//object.create()创建对象
var o = Object.create({x:1});
console.log(o);
console.log(o.x);
/***
* 面向对象第一步:创建类
* 因为 javascript 中无法创建类,因此,用函数来封装以特定接口创建对象
* 我对面向对象的理解?
* 说道面向对象开发就想到23种设计模式,想到曾经买过《大话设计模式》和《javascript设计模式》的书。
* 23中设计模式根据不同的场景应用不同环境中,设计模式只是一种思想,让你的代码框架更易扩展。
* 面向对象思想的前提是抽象,从现实世界中抽象出一些对象或者类的共性之后“封装”成类或者抽象类或者接口。
* 这些类也罢,接口也好。是为了增加代码的复用性,既然是为了复用,当然需要子类来“继承”。
* 在继承的过程中为了满足子类个性化的需求,于是“多态”就自然的出现。
***/
var Person = (function () {
/***
* @param name 姓名
* @param male 性别
* @param age 年龄
* @param hobby 爱好
* @constructor
*/
var Person = function (name, male, age, hobby) {
this.name = name;
this.male = male;
this.age = age;
this.hobby = hobby;
};
return function (name, male, age, hobby) {
return new Person(name, male, age, hobby);
};
})();
var personOne = Person("onename","男",18,"打篮球");
var personTwo = Person("twoname","女",26,"打篮球");
console.log(personOne, personTwo);
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: