美文网首页
面向对象 继承

面向对象 继承

作者: 如你眉间山水 | 来源:发表于2019-09-26 15:40 被阅读0次

一、ES5

    function Person (name, age) {
            // 添加属性
            this.name = name;
            this.age = age;
        }
        // 添加方法
        Person.prototype.showName = function () {
            console.log(this.name);
        }
        Person.prototype.showAge = function () {
            console.log(this.age);
        }

        // 继承
        function Worker (name, age, job) {
            Person.call(this, name, age);
            this.job = job;
        }

        Worker.prototype = new Person();
        Worker.prototype.constructor = Worker;
        Worker.prototype.showJob = function () {
            console.log(this.job);
        }

        let w = new Worker('Tom', 23, '教师');
        w.showName();
        w.showAge();
        w.showJob();

二、ES6

        class Person {
            constructor(name, age) {
                this.name = name;
                this.age = age;
            }

            showName() {
                console.log(this.name);
            }
            showAge() {
                console.log(this.age);
            }
            // 静态方法  类似于 Array.from()只能在原型对象上调用的方法
            static description() {
                console.log(`I am a man`)
            }

            set address(value) {
                this.addressInfo = value;
            }

            get address() {
                return `I from ${this.addressInfo}`
            }
        }

        let p = new Person('Jack', 14);
        p.showName();
        p.showAge();
        Person.description(); // I am a man
        p.address = 'ShanDong';
        p.address // I from ShanDong


        //继承
        class Worker extends Person {
            constructor(name, age, job) {
                super(name, age);
                this.job = job;
            }

            showJob() {
                console.log(this.job);
            }
        }

        let w = new Worker('Tony', 26, '工程师');
        w.showName();
        w.showAge();
        w.showJob();

相关文章

  • JavaScript之面向对象编程

    五、面向对象编程 目录:面向对象原型继承、面向对象class继承(ES6引入的) 1.面向对象原型继承 类:模板 ...

  • 王艳华Pythonday03

    Python的面向对象 Java 面向对象 继承

  • Python面向对象继承

    面向对象继承 面向对象编程 (OOP),英语全称:Object Oriented Programming,面向对象...

  • java基础-day10-面向对象4.0

    面向对象4.0 1. 面向对象之继承 1.1 生活中的继承 1.2 Java中的继承 1.3 子类对象创建,会调...

  • 面对对象高级编程

    面向对象高级编程: 面向对象编程:封装、继承和多态 面向对象高级编程:多重继承、定制类和元类

  • Web前端经典面试试题及答案2

    javascript面向对象中继承实现? 面向对象的基本特征有:封闭、继承、多态。在JavaScript中实现继承...

  • JAVA语言第二课

    JAVA面向对象——四大特征 继承篇——extendsJava 继承继承的概念继承是java面向对象编程技术的...

  • js面向对象设计

    面向对象模式 继承

  • JavaScript 面向对象编程

    JavaScript 快速入门 面向对象编程创建对象构造函数忘记写new怎么办?原型继承class继承 面向对象编...

  • 面向对象:创建对象&继承

    博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...

网友评论

      本文标题:面向对象 继承

      本文链接:https://www.haomeiwen.com/subject/igfnuctx.html