• Javascript高级篇-面向对象的特性


    一、创建对象

      1.1初始化器

    var any={
    name:"some",
    age:10,
    action:function(){
       alert(this.name+":"+this.age); 
    }
    };

      1.2构造方法

    function some(name,age){
    this.name=name;
    this.age=age;
    this.action=function(){
      alert(this.name+":"+this.age);  
    }
    }
    
    var aa = new some("bb",5);
    aa.action();

      1.3属性

    function C(){
      this.objPro = "对象属性";
     C.prototype.objPro2="对象属性2";
      var privateObj = "私有属性";              
    }
    
    C.classPro = "类属性";

      1.4对象方法

    function C(){
    var privateFun = function(){
    alert("私有方法");
    }
    this.objFun = function(){
    alert("对象方法");
    }
    this.prototype.objFun = function(){
    alert("对象方法");
    }
    }
    
    C.classFun = function(){
    alert("类方法");
    }

    二、封装

    var any={
    name:"some",
    age:10,
    action:function(){
       alert(this.name+":"+this.age); 
    }
    };

    三、继承

       3.1Dog还是Dog

    function Animal(name,age){
        
    }
    
    function Dog(name,age){
        Animal.apply(this,[name,age]);
    }

      3.2Dog变成Animal了

    function Animal(name,age){
        
    }
    
    function Dog(name,age){
        Animal.apply(this,[name,age]);
    }

    Dog.prototype=new Animal();

    四、多态

    function Animal(name,age){
         this.say=function(){
    
    }
    }
    
    function Dog(name,age){
        this.say=function(){
    
    }
    }
    
    Dog.prototype = new Animal();
    
    function Cat(name,age){
         this.say=function(){
    
    }
    }
    
    Cat.prototype = new Animal();
    
    function say(){
    if(animal instanceof Animal){
    animal.say();
    }
    }
  • 相关阅读:
    ASP.NET常见命名空间及其功能描述
    C#中的里氏替换原则
    Java中的split函数的用法
    shader之旅-7-平面阴影(planar shadow)
    OpenGL三角形的双面不同颜色的绘制
    MATLAB squeeze 函数
    matlab 常用函数汇总
    第一个OpenGL程序
    Github 留言系统
    Paging 简单自由的分页生成器
  • 原文地址:https://www.cnblogs.com/luoxiaolei/p/5393431.html
Copyright © 2020-2023  润新知