首页 > 其他分享 >类与继承,面向对象

类与继承,面向对象

时间:2022-08-14 22:46:16浏览次数:45  
标签:console log person 继承 age 面向对象 Person1 new

类:

<script>
        class Person{
            constructor(){ //构造器
                //this 必须在构造器里面使用
                this.age = 20 //类的属性
                this.sayHello = function(){ //类的方法
                    console.log('hello');
                }
            }
        }  
        //构建对象
        var person = new Person() //无参构造
        console.log(person);//person {age: 20, sayHello: ƒ}
        console.log(person.age); //20
        person.sayHello() //hello
        //调用有参构造
        //类名首字母必须大写 class不能被重复定义
        class Person1{
            // constructor 调用 new 的过程,每一次new里面的内容都会重新声明
            constructor (age = 18,name='jack'){ //构造器
                //this必须在构造器里面使用 this指向实例化的对象
                this.age = age //类的属性
                this.name  = name 
                this.sayHello =function(){ //类的方法
                    console.log('hello');
                }
            }
            run(){ //在函数里面可以访问对应的this
                console.log(this.name + '跑');
            }
        }
        //使用new 调用的对应构造器的时候 就是在实例化的过程 而产生的对象被称为实例化对象
        var person = new Person1(18,'jack')
        console.log(person); //Person1 {age: 18, name: 'jack', sayHello: ƒ}
        var person1 = new Person1(18,'jack')
        console.log(person1); //Person1 {age: 18, name: 'jack', sayHello: ƒ}
        person1.run() //jack跑
        console.log(person1.sayHello == person.sayHello); //flase
        console.log(person1.run == person.run);//true
    </script>

  

继承:

 <script>
        class Father{
            constructor(){
                this.age = 18;
            }
            run(){
                console.log('跑');
            }
        }
        //extends 关键词声明以后 在对应的constructor里面想要使用this 必须先写super()
        class Son extends Father{
            constructor(){
                super() //指向父类Person的构造器constructor
                this.name = 'jack'
            }
        }
        var son = new Son()
        console.log(son); //获取不到run

  

构建对象的方式

<script>
        class Person{
            constructor(age){//构造器,其实就是一个构造函数
                this.age =age ;
            }
        }
        //new 关键词来构建
        var person = new Person(18)
        console.log(person); //Person {age: 18}
        //使用new关键词来构建
        function   Person1(age){
            this.age =age;
        }
        //new 关键词来构建
        var person = new Person1(20)
        console.log(person); //Person1 {age: 20}
        //当前这个 类型是否是object
        console.log(person instanceof Person1); //true
        //使用工厂模式来构建对象
        function factory(age){
            //声明一个对象
            var obj = new Object()
            //给对象加属性
            obj.age = age 
            //返回这个对象
            return obj;         
        }
        var person1 = factory(23)
        console.log(person1); //{age: 23}
        //当前这个类的类型是否是Person类型
        console.log(person instanceof Person);  //false
    </script>

  

标签:console,log,person,继承,age,面向对象,Person1,new
From: https://www.cnblogs.com/eve-xin/p/16586596.html

相关文章

  • 面向对象(构造对象及tab切换示例)
    面向对象概述面向对象是一种编程思想(oop),他是将对应的过程替换成对应的对象,而不做去追求对应的过程实现,而通过去找对象的方式实现。综合思想:找有这个功能的对象,做这个事情......
  • 【Python】【Pycharm】新建项目/工程/新环境/继承全局包/New environment using/inher
    1、不勾选inheritglobalsite-packages  2、【推荐】勾选inheritglobalsite-packages ......
  • day 15 面向对象
    面向对象概述面向对象是一种编程思想(oop),他是将对应的过程替换成对应的对象,而不做去追求对应的过程实现,而通过去找对象的方式实现。综合思想:找有这个功能的对象,做这个事情......
  • java学习笔记008 面向对象(四)多态
    1.向上转型//向上转型再向下转型可2.instanceof关键字Objectperson=newPerson();if(personinstanceofPerson){ Personp=(Person)person;//Person类引用......
  • Three---面向对象与面向过程/属性和变量/关于self/一些魔法方法的使用/继承/super方法
    python的面向对象面向对象与面向过程面向过程面向过程思想:需要实现一个功能的时候,看重的是开发的步骤和过程,每一个步骤都需要自己亲力亲为,需要自己编写代码(自己来做)......
  • 面向对象
    一、面向对象与面向过程的区别1、面向过程(过程化).面向过程的思想是把一个项目、一件事情按照一定的顺序,从头到尾一步一步地做下去,先做什么,后做什么,一直到结束。2、面......
  • 面向对象:多态
    多态就是同一个方法根据不同的发送对象而采取多种不同的操作(属性没有多态!)一个对象的实际类型是确定的例如:newPerson();newStudent();但是可以指向对象的引用的类......
  • 面向对象的介绍
    概述面向对象是一种编程思想(oop),他是将对应的过程替换成对应的对象,而不做去追求对应的过程实现,而通过去找对象的方式实现。综合思想:找有这个功能的对象,做这个事情。(面向对......