zoukankan      html  css  js  c++  java
  • js中的面向对象程序设计

    概述

    面向对象的语言有一个标志,那就是他们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。


    对象的创建

    1、工厂模式

    //工厂模式
        function getPerson(name,age){
            //定义age不能直接访问
            var person = {
                name:name,
                _age:age,
                getName:function(){
                    return this.name;
                }
            };
            Object.defineProperties(person,{
                _age:{
                    value:age
                },
                age:{
                    get:function(){
                        return this._age;
                    },
                    set:function(age){
                        this._age = age;
                    }
                }
    
            });
            return person;
        }
            var p2 = getPerson("person2",12);
            console.log(p2.getName());
    2、构造函数模式

     //构造函数模式
        function Person(name,age){
            this.name = name;
            this.age = age;
            this.getName = getName;
        }
        var p1 = new Person("person1",12);
        console.log(p1.getName());
    3、原型模式

    //原型模式
        function People(){};
        People.prototype = {
            name:"",
            age:0,
            getName:getName
        }
            var p3 = new People();
            p3.age = 12;
            p3.name="person3";
            console.log(p3.getName());
            console.log("sex" in p3);
    4、构造函数+原型

    //*构造函数+原型模式*//
        function Student(name,age){
            this.name = name;
            this.age = age;
        }
        Student.prototype ={
            constructor:Student,
            getName:getName
        }
    var stu = new Student("student",18);
            console.log(stu.getName());

    传播GIS知识 | 交流GIS经验 | 分享GIS价值 | 专注GIS发展

    技术博客

    http://blog.csdn.net/gisshixisheng


    在线教程

    http://edu.csdn.net/course/detail/799

    Github

    https://github.com/lzugis/


    联系方式

    q       q:1004740957

    e-mail:niujp08@qq.com

    公众号:lzugis15

    Q Q 群:452117357(webgis)
                 337469080(Android)







  • 相关阅读:
    python 和 R 语言中的等差数列
    python 用 matplotlib 绘制误差条图
    Python 模拟伯努利试验和二项分布
    R 基于朴素贝叶斯模型实现手机垃圾短信过滤
    PCA 在手写数字数据集上的应用
    R 实现朴素贝叶斯分类器模型
    R语言 绘制正(余)弦图
    R 绘制反正(余)弦图像
    R 绘制正(余)切图像
    R 语言 do.call() 函数
  • 原文地址:https://www.cnblogs.com/lzugis/p/6539782.html
Copyright © 2011-2022 走看看