網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
class 類
類是面向?qū)ο?/a>語(yǔ)言的程序設(shè)計(jì)中的概念,是面向?qū)ο缶幊?/a>的基礎(chǔ)。
類是創(chuàng)建對(duì)象的模板,是對(duì)現(xiàn)實(shí)生活中一類具有共同特征的事物的抽象
類的內(nèi)部封裝了屬性和方法,用于操作自身的成員
示例
將每條狗看做一個(gè)對(duì)象,那他的屬性就有 品種、顏色,方法(行為)舔、叫、吃。
class Dog { breed: string; color: string; lick(): void { console.log(` 我仍認(rèn)為我們作為一個(gè)舔狗的真正目的是為了擁有一份真誠(chéng)的愛(ài)情, 而不是為了愛(ài)情做一個(gè)真誠(chéng)的舔狗。 雖為舔狗,卻有戰(zhàn)狼之志, 舔一人為小愛(ài),舔百人為大愛(ài), 所謂大愛(ài)無(wú)疆。所以舔并不可恥!`); } eat(): void { console.log(`舔狗不配吃飯!!!`); } bark(): void { console.log(`寶 我今天去輸液了 輸?shù)氖裁匆?想你的夜`); } } // 創(chuàng)建實(shí)例 const dog = new Dog(); dog.breed='舔' dog.color='金'; // 調(diào)用實(shí)例的方法 dog.lick()
構(gòu)造函數(shù)
用關(guān)鍵字 constructor 定義,很遺憾不允許存在多個(gè)構(gòu)造函數(shù)實(shí)現(xiàn)
class Dog { breed: string; color: string; // constructor(){ // }; // constructor(breed: string) { // this.breed = breed; // } constructor(breed: string, color: string) { this.breed = breed; this.color = color; } } // 創(chuàng)建實(shí)例 const dog = new Dog('', '');
繼承
子類Dog通過(guò) extends
關(guān)鍵字 繼承父類Animal,創(chuàng)建的dog的實(shí)例,便能夠調(diào)用 run()
方法。
class Animal { run(distance: number) { console.log(`跑了 ${distance}m`) } } class Dog extends Animal { breed: string; color: string; lick(): void { console.log(`我仍認(rèn)為我們作為一個(gè)舔狗的真正目的是為了擁有一份真誠(chéng)的愛(ài)情,而不是為了愛(ài)情做一個(gè)真誠(chéng)的舔狗,雖為舔狗,卻有戰(zhàn)狼之志,舔一人為小愛(ài),舔百人為大愛(ài),所謂大愛(ài)無(wú)疆。所以舔并不可恥!`); } eat(): void { console.log(`舔狗不配吃飯!!!`); } bark(): void { console.log(`寶 我今天去輸液了 輸?shù)氖裁匆?想你的夜`); } } // 創(chuàng)建實(shí)例 const dog = new Dog(); dog.breed = '舔' dog.color = '金'; // 調(diào)用實(shí)例的方法 dog.run(100);
原文鏈接:https://blog.csdn.net/Mr_yangzc/article/details/122987951
相關(guān)推薦
- 2022-02-24 使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹_nginx
- 2022-10-31 Android虛擬機(jī)與類加載機(jī)制詳情_(kāi)Android
- 2024-03-28 mac vscode 命令行啟動(dòng)命令安裝 別名設(shè)置方法
- 2022-05-25 org.springframework.data.redis.RedisSystemExceptio
- 2023-04-19 vscode配置ESlint
- 2022-06-17 C#中IEnumerable接口介紹并實(shí)現(xiàn)自定義集合_C#教程
- 2022-10-15 flask路由分模塊管理及自定義restful響應(yīng)格式詳解_python
- 2022-05-19 使用python求解迷宮問(wèn)題的三種實(shí)現(xiàn)方法_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支