zoukankan      html  css  js  c++  java
  • 简单说说如何上手面向对象编程?

    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>
  • 相关阅读:
    jsp和servlet有什么区别?
    JavaScript中null、undefined有什么区别?
    Java中的信号量Semaphore
    Java中实现线程通信方式有哪些?
    说说对于sychronized同步锁的理解
    线程的run()方法和start()方法有什么区别?
    高并发大型网站架构设计
    高并发高流量网站架构(转)
    构建高并发高可用的电商平台架构实践
    自己搭建CDN服务器静态内容加速-LuManager CDN使用教程
  • 原文地址:https://www.cnblogs.com/liubeimeng/p/6600879.html
Copyright © 2011-2022 走看看