美文网首页
17.继承内置类和js中的多态

17.继承内置类和js中的多态

作者: 静昕妈妈芦培培 | 来源:发表于2021-11-20 10:04 被阅读0次

1.继承内置类

定义类的时候,如果没有实现继承,默认继承自Object类

class Person {}

相当于下面

class Person extends Object {}
//继承内置类
class HYArray extends Array {
  firstItem() {
    return this[0];
  }
  lastItem() {
    return this[this.length - 1];
  }
}
const arr = new HYArray(1, 2, 3);
console.log(arr.firstItem()); //1
console.log(arr.lastItem()); //3

3.js中的多态

image.png

面向对象的三大特性:封装,继承,多态
多态:不同的数据类型,进行同一个操作,表现出不同的不同的行为,就是多态的体现

//传统面向对象的多态有三个前提:
// 必须有继承(多态的前提),必须有重写(子类重写父类方法),必须有父类引用指向子类对象
class Shape {
  getArea() {
    console.log("获取shape面积");
  }
}
class Rectangle extends Shape {
  getArea() {
    return 100;
  }
}
class Circle extends Shape {
  getArea() {
    return 1000;
  }
}

function calcArea(shape: Shape) {
  console.log(shape.getArea());
}

const r = new Rectangle();
const ss = new Circle();
calcArea(r); // 100
calcArea(ss); // 1000

export {}

下面依然是多态的体现

var obj = {
  getArea() {
    console.log(200);
  },
};
class Person {
  getArea() {
    return 100;
  }
}
const p = new Person();

function calcArea(o) {
  console.log(o.getArea());
}

calcArea(obj)
calcArea(p)

function sum(a,b) {
  return a + b
}
sum(1,2)
sum('1', '2')

相关文章

  • 17.继承内置类和js中的多态

    1.继承内置类 定义类的时候,如果没有实现继承,默认继承自Object类 相当于下面 3.js中的多态 面向对象的...

  • JS中类的继承封装和多态

    子类继承父类的属性和方法(原生继承,call继承,寄生组合继承,ES6中class类继承)原生继承:让子类的原型指...

  • js面向对象实现面向对象(二)

    上一篇讲到js实现对类对封装,本篇介绍类的继承,多态。 类的继承 类式继承 类式继承方式是将父类的实例赋在子类的原...

  • Python类和实例

    关键词:class 继承和多态:(object) 如果没有其他需要继承的类,则默认继承(object) 多态这里和...

  • 深入理解 Python 类和对象(1) - 鸭子类型和多态

    什么是鸭子类型? Java 中实现多态,需要继承父类,并覆盖父类中的方法。 Python 中实现多态,不需要继承任...

  • C# Notizen 4 继承、接口和抽象类

    一、继承和多态在面向对象编程中,继承(也称为派生)让您能够创建新类,而这些类继承了父类(也称为基类)的特征和行为。...

  • JS继承

    JS中的继承 许多OO语言都支持两种继承方式:接口继承和实现继承; 因为JS中没有类和接口的概念 , 所以JS不支...

  • 重拾python第六天

    今天复习了面向对象编程中的类和实例、访问限制、继承和多态

  • JS 内置类继承和类的混入、字面量增强、解构、let-const

    1.类的相关用法 1.1 继承内置类 1.2 类的混入mixin JS只能允许有一个直接的父类,不能继承多个类。 ...

  • JAVA(9)继承与多态

    继承与多态 、抽象类、接口 继承: 继承是类与类的一种关系 java中的继承是单继承 继承的好处: 子类拥有父类的...

网友评论

      本文标题:17.继承内置类和js中的多态

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