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());



  • 相关阅读:
    Java异常面试题
    Quickhit快速击键
    多态and接口
    Java面向对象编程概述
    学生管理系统--分层开发
    类型转换
    文件上传
    ongl(示例3-6 多值类型的数据处理)
    ongl(原始类型和包装类型)
    Interceptor
  • 原文地址:https://www.cnblogs.com/wgdong/p/5281695.html
Copyright © 2011-2022 走看看