Day-20 OOP与抽象类别

JavaScript是一套透过原型链(prototype)实作的物件导向程序设计(Object-oriented programming, OOP)语言。近两篇文章将介绍构成其OOP的基本概念。

Object-oriented物件导向

物件导向,类似生物分类法,把共同的特性写在前面,让後面的物件能直接使用。
=> 只要在前面写一次,否则後面的东西有100个的话就要写100次,太累了。

  • 物件 = 属性 + 行为(sunction)
  • 继承 = 分类:可以让子类别的东西使用上层类别(Super Class、Parent Class)的东西
  • 物件=属性+行为

属性

const hero = {
	name: “悟空”
	age: 18
	power: 500
	status: 饥饿
}

行为

eat: function {
	    console.log (“yummy”, food);
        }
    }
hero.eat (“寿司”)

Key与Value

用 Object.keys (变数名称)、Object.values (变数名称)可印出所有 key 跟 value。

const hero = {
	name: “kk”
	//key //value
}

console.log (Object.keys(hero))  //印出所有key
console.log (Object.values(hero))  //印出所有的value

延伸阅读:物件导向程序设计(OOP)

抽象类别 Abstract Class

抽象类别,也类似生物分类法,把共同的特性写在前面,让後面的物件能直接使用。
=> 只要在前面写一次,否则後面的东西有100个的话就要写100次,太累了。写成程序码的话,就像:

class 灵长类 {
  squash() {
    console.log("!!!!");
  }
}
//  黑猩猩是一种灵长类
class 黑猩猩 extends 灵长类 {
}

class 人 extends 灵长类 {
}

me = new 人()
me.squash()

you = new 黑猩猩()
you.squash()

<<:  Flutter基础介绍与实作-Day27 旅游笔记的实作(8)

>>:  使用 Python 实作网路爬虫

人脸辨识-day16 应用层面--2

人脸辨识还应用在只让特定人员才可进行存取或使用。如以下的例子: 1.在公司行号利用人脸辨识系统自动化...

[进阶指南] 深入 JSX( Day25 )

基本上,JSX 单纯只是 React.createElement(component, props...

Day-08 你对前端还是後端比较有兴趣?

这题我要直接破梗,因为这是一道陷阱题! 大家要小心也,不要真的去给他选下去啊! 很多人一看到这种二...

Episode 2 - 关於 COBOL

如果画面太小或看不清楚,可移驾至 https://www.youtube.com/watch?v=...

冒险村22 - Design Pattern(2) - Presenter

22 - Design Pattern(2) - Presenter Presenter patte...