zoukankan      html  css  js  c++  java
  • 对象

    面向对象编程

    面向对象的编程,那么是更符合人类所接触的世界的逻辑思维。

    将一个系统划分为各个子系统,子系统又由各个模块构成,将每个模块,系统划分为一个个对象,给这些对象赋予某些角色(属性/功能/方法)。

    伪面向对象编程语言 ---> 面向对象编程语言

    1、创建对象的方式

    (1) 字面量的方式

    //字面量的形式

    var student = {

    name:"蔡徐坤",

    type:"练习生",

    like:"唱跳rap篮球",

    rap:function(){

    console.log("鸡你太美")

    }

    }

    console.log(student)

    student.rap()

    优点:写起来简单方便

    缺点:如果要生成大量的类似的对象,那么将会写一堆重复的代码

    (2) 工厂模式

    优点:可以快速生成批量的对象

    缺点:对象的同样的方法(函数),每创建一个对象,都会生成一个一模一样新的函数,所以会占内存

    /工厂模式

    function Student(name,type,like){

    return {

    name:name,

    type:type,

    like:like,

    rap:function(){

    console.log("鸡你太美")

    }

    }

    }

    var s1 = Student("蔡徐坤1","篮球运动员",'篮球')

    console.log(s1)

    (3) 构造函数创建对象

    //构造函数

    function Teacher(){

    this.name = "苍老师";

    this.type = "老师";

    /*this.movies = function(){

    console.log("拍电影")

    }*/

    }

    //设置创建对象的原型函数

    Teacher.prototype.movies = function(){

    console.log("拍电影1")

    }

    //如果不用new来构建函数,那么就是一个普通的函数调用,并且this的指向是window

    //如果用了new,就会创建一个新的对象,并且将对象给到t1.

    var t1 =new Teacher()

    console.log(t1)

    原型链:原型上不断继承原型,从而形成原型链。

    (4) ES6class写法

    //语法糖,ES6新增的语法。2015的新标准。es6 ==> EcmaScript 2015,2015发布的JavaScript的标准。

    class Cat{

    constructor(){

    this.name = "波斯猫"

    }

    run(){

    console.log("会跑")

    }

    say(){

    console.log("喵喵喵")

    }

    }

    var c1 = new Cat()

    console.log(c1)

    继承extends

    class cxk{

    rap(){

    console.log("鸡你太美")

    }

    }

    // var c1 = new Cat()

    // console.log(c1)

    class Cat extends cxk{

    constructor(){

    super()//super这个关键词,是调用继承的class的构造函数

    this.name = "波斯猫"

    }

    run(){

    console.log("会跑")

    }

    say(){

    console.log("喵喵喵")

    }

    }

    var c1 = new Cat()

    console.log(c1)

  • 相关阅读:
    浅谈Java中的对象和对象引用
    学习Python要知道哪些重要的库和工具
    Python新手最容易犯的十大错误
    java截取字符串中的数字
    Android 多语言
    R语言学习笔记(二): 类与泛型函数
    R语言学习笔记(一):mode, class, typeof的区别
    代理实现方式
    如何将链表反转
    同步锁之lock
  • 原文地址:https://www.cnblogs.com/xfbb/p/10976513.html
Copyright © 2011-2022 走看看