首页 > 其他分享 >ES6-Class

ES6-Class

时间:2024-10-21 16:21:58浏览次数:1  
标签:ES6 console log color brand class price Class

class 类

ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。基本上,ES6 的 class 可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。
知识点:

  1. class 声明类
  2. constructor 定义构造函数初始化
  3. extends 继承父类
  4. super 调用父级构造方法
  5. static 定义静态方法和属性
  6. 父类方法可以重写
//父类
class Phone {
 //构造方法
 constructor(brand, color, price) {
 this.brand = brand;
 this.color = color;
 this.price = price;
 }
 //对象方法
 call() {
 console.log('我可以打电话!!!')
 }
}
//子类
class SmartPhone extends Phone {
 constructor(brand, color, price, screen, pixel) {
 super(brand, color, price);
 this.screen = screen;
 this.pixel = pixel;
 }
 //子类方法
 photo(){
 console.log('我可以拍照!!');
 }
 playGame(){
 console.log('我可以玩游戏!!');
 }
 //方法重写
 call(){
 console.log('我可以进行视频通话!!');
 }
 //静态方法
 static run(){
 console.log('我可以运行程序')
 }
 static connect(){
 console.log('我可以建立连接')
 }
}

//实例化对象
const Nokia = new Phone('诺基亚', '灰色', 230);
const iPhone6s = new SmartPhone('苹果', '白色', 6088, 
'4.7inch','500w');
//调用子类方法
iPhone6s.playGame();
//调用重写方法
iPhone6s.call();
//调用静态方法
SmartPhone.run();

标签:ES6,console,log,color,brand,class,price,Class
From: https://www.cnblogs.com/fanfan-90/p/18489675

相关文章

  • ES6-变量、常量(let、const)
    变量声明//声明变量leta;letb,c,d;lete=100;letf=521,g='iloveyou',h=[];//1.变量不能重复声明//letstar='罗志祥';//letstar='小猪';//2.块儿级作用域全局,函数,eval//ifelsewhilefor//{//letgirl='周扬青';......
  • ES6-2
    简化对象写法//ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。//这样的书写更加简洁letname='尚硅谷';letchange=function(){console.log('我们可以改变你!!');}constschool={......
  • MLE 5217 : Take-Home Dataset Classification
    Dept.ofMaterialsScience&EngineeringNUSMLE5217:Take-HomeAssignmentsLecturerSasaniJayawardhanaObjectivesBasedonthechemicalcompositionofmaterialsbuildaclassificationmodeltodistinguishmetalsandnon-metalsModel1),andthenb......
  • 数码摄影师、图形设计师及高端用户设计的桌面图像编辑和管理软件下载Adobe Lightroom
    目录一、软件概述1.1名称与定位1.2版本与更新1.3系统兼容性二、系统要求2.1最低系统要求2.2推荐系统要求三、下载与安装3.1下载链接3.2安装步骤四、功能介绍4.1照片管理4.2照片编辑4.3高级功能一、软件概述1.1名称与定位AdobeLightroomClassic......
  • 解决driverClassName: com.mysql.cj.jdbc.Driver报红问题
    为将项目从postgre库转为本地mysql数据库,需要将数据库驱动改为mysql1.在父工程的pom中引入数据库<!--Mysql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><v......
  • TS高级类型-class
    创建一个class类classPerson{age:number//没有值但是有类型name="小明"//有默认值,类型推断是stringconstructor(age:number,name:string){//构造函数没有返回值,返回值不需要加类型this.age=agethis.name=name}//实例方......
  • spring注解解析与configurationClassPostProcessor(1)
    上个章节讲解了spring启动时解析spring.xml的流程,本章主要解析对注解的解析;目前我们常用的是AnnotationConfigApplicationContext,其中MyApp就是启动类ApplicationContextctx=newAnnotationConfigApplicationContext(MyApp.class);this()方法中可以看到reader为Annotated......
  • Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class
    原文链接:Loadingclass`com.mysql.jdbc.Driver’.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver’.–每天进步一点点(longkui.site)某日构建springboot项目时,报的错:Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriver......
  • Mybatis-plus 3.5.4 的AOP问题 java.lang.ClassCastException: class org.springfram
    报错,然后我把mapper上的@repository删掉就好了,为什么ChatGPT说:ChatGPT删除@Repository注解后问题解决,可能是与SpringAOP代理机制和MyBatisPlus结合时的一些细节有关。以下是原因分析:@Repository和SpringAOP代理的影响@Repository注解的主要作用是将类标记为持......
  • Python入门-面相对象——class(类)、封装、继承、多态、类型注解
    面向对象面向对象就是设计一个类,基于类创建对象,并使用创建出来的类完成具体的工作面向对象的三大特性:封装、继承、多态面向对象基本概述:属性:名词,用来描述事物的外在特征的,例如:姓名,性别,年龄,身高,体重...行为:动词,表示事物能够做什么,例如:......