zoukankan      html  css  js  c++  java
  • 面向对象的代码研究(一)

    基础代码

    var Circle = {
    "PI":3.1415,
    'area':function(r){
    return this.PI * r *r;
    };
    }
    console.log(Circle.area(1.0));
    //直接量,最直观

    稍微变体

    //分步写法,新建对象,对象属性、方法赋值
    var Circle = new object();
    Circle.PI = 3.1415;
    Circle.Area = function(r){
    return this.PI * r * r;
    }
    console.log(Circle.Area(1.0));

    再次变体

    //工厂模式,稍微变体
    var Circle = function(){
    var obj = new object();
    obj.PI = 3.1415;
    
    obj.area = function(r){
    return this.PI * r * r;
    }
    return obj;
    }
    var c = new Circle();
    console.log(c.area(1.0));

    下面是原型和构造的混合,加入了静态属性的访问

    function Circle(r){
    this.r = r;
    }
    Circle.PI = 3.1415;
    Circle.prototype.area = function(){
    return Circle.PI * this.r * this.r;
    }
    var c = new Circle(1.0);
    console.log(c.area());

     继承

    function Person(){    
        var name = "default";       
           
        return {    
           getName : function(){    
               return name;    
           },    
           setName : function(newName){    
               name = newName;    
           }    
        }    
        };   
    
        var p = new Person();
        p.setName("Tom");
        alert(p.getName());
    
        var Jack = function(){};
        //继承自Person
        Jack.prototype = new Person();
        //添加私有方法
        Jack.prototype.Say = function(){
            alert("Hello,my name is Jack");
        };
        var j = new Jack();
        j.setName("Jack");
        j.Say();
        alert(j.getName());



  • 相关阅读:
    Oracle中TO_DATE格式
    实现带查询功能的Combox控件
    Combox和DropDownList控件的区别
    C# 获取字符串中的数字
    C# try catch finally 执行
    树形DP codevs 1814 最长链
    codevs 2822 爱在心中
    匈牙利算法 cojs.tk 搭配飞行员
    匈牙利算法 codevs 2776 寻找代表元
    2016-6-19 动态规划,贪心算法练习
  • 原文地址:https://www.cnblogs.com/wgdong/p/5281695.html
Copyright © 2011-2022 走看看