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

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

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>The eighth group</title>
 6 </head>
 7 <body>
 8 
 9 <script type="text/javascript">
10     /***
11      * 如何上手面向对象编程?
12      * 面向对象三大特性:封装,继承,多态
13      * javascript 无法创建类 函数来封装特定接口创建对象
14      * 面向对象语言有一个标志,即拥有类的概念,抽象实例对象的公共方法和属性,基于类可以创建任意多个实例对象!
15      * 类的概念:在现实生活中,相似的对象之间往往都有一些共同的组成特征。
16      ***/
17 
18     /***
19      * 创建对象
20      * 对象字面量方式, new关键字,object.create()函数来创建。
21      ***/
22     //对象字面量方式
23     var Empty = {};//没有任何属性的对象
24     var Me ={
25         name: "beimeng",
26         hair: "black",
27         say: function(){
28             console.log("I am" + Me.name);
29         }
30     };
31     Me.say();
32     //new关键词创建对象
33     var obj = new Object();//创建一个空对象,和{}一样
34     //object.create()创建对象
35     var o = Object.create({x:1});
36     console.log(o);
37     console.log(o.x);
38     /***
39      * 面向对象第一步:创建类
40      * 因为 javascript 中无法创建类,因此,用函数来封装以特定接口创建对象
41      * 我对面向对象的理解?
42      * 说道面向对象开发就想到23种设计模式,想到曾经买过《大话设计模式》和《javascript设计模式》的书。
43      * 23中设计模式根据不同的场景应用不同环境中,设计模式只是一种思想,让你的代码框架更易扩展。
44      * 面向对象思想的前提是抽象,从现实世界中抽象出一些对象或者类的共性之后“封装”成类或者抽象类或者接口。
45      * 这些类也罢,接口也好。是为了增加代码的复用性,既然是为了复用,当然需要子类来“继承”。
46      * 在继承的过程中为了满足子类个性化的需求,于是“多态”就自然的出现。
47      ***/
48     var Person = (function () {
49         /***
50          * @param name 姓名
51          * @param male 性别
52          * @param age 年龄
53          * @param hobby 爱好
54          * @constructor
55          */
56         var Person = function (name, male, age, hobby) {
57             this.name = name;
58             this.male = male;
59             this.age = age;
60             this.hobby = hobby;
61         };
62         return function (name, male, age, hobby) {
63             return new Person(name, male, age, hobby);
64         };
65     })();
66     var personOne = Person("onename","",18,"打篮球");
67     var personTwo = Person("twoname","",26,"打篮球");
68     console.log(personOne, personTwo);
69 </script>
70 </body>
71 </html>
原文地址:https://www.cnblogs.com/liubeimeng/p/6600879.html