面向對象之類、繼承和多態

????????系統是由匯總了數據和過程的“對象”組成的。在面向對象中,軟件被定義為“類”,然后創建“實例”并運行。系統是通過“實例”之間的互相交換“消息”而運行的,但由于進行了“封裝”,所以無法查看內部的詳細內容,這被稱為“信息隱藏”。當發送“消息”時,并不會在意對方“實例”是哪一個“類”,這被稱為“多態”。

1.類

類是面向對象的最基本的結構,與其對應的概念是實例。

類的英文是class,含義是“種類”,“類型”等“同類物品的集合”。

實例的英文是instance,含義是“具體的物”。類指類型,實例指具體的物,二者的關系就相當于數學集論中的集合和元素一樣。

2.多態

多態,英文含義為:“變為各種形式”,通常翻譯為“多態”、“多相”等。

如果用一句話來表示該結構,就是“讓向相似的類發送消息的方法通用的結構”,也可以說是“發送消息時不關心對方具體是哪一個類的實例的結構”。

多態是一種方便消息發送者的手法。

3.繼承

用一句話來表示繼承,就是“系統的整理物的種類共同點和不同點的結構”。

在面向對象中,“物的種類”就是類。因此, 換一種給表達方式,,也可以說及繼承是“整理相似事物的類的共同點和不同點的結構”。

類和實例相當于集合和元素,而繼承則相當于全集和子集。

在面向對象中,全集被稱為超類,子集被稱為子類。

此繼承關系還可以應用于現實中的各種情況,比如將醫生分為內科醫生、外科醫生、眼科醫生和牙科醫生,將公司職員分為營業人員、技術人員和辦公人員等

應用于編程中則是:

Java等面向對象編程語言中可以直接描述繼承。具體來說,在超類中定義全集共同的性質,在子類中定義子集特有的性質,這樣我們就可以不用重復定義非常相似的、只存在略微不同的類的共同點和不同點了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92384.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92384.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92384.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

傳統防火墻與下一代防火墻

防火墻的發展過程第一種簡單包過濾防火墻工作于:3、4層實現了對于IP、UDP、TCP信息的一些檢查優點:速度快、性能高、可用硬件實現;兼容性較好檢查IP、UDP、TCP信息缺點:安全性有限:僅能基于數據包的表面層面進行審查&a…

計算機視覺前言-----OpenCV庫介紹與計算機視覺入門準備

前言:OpenCV庫介紹與計算機視覺入門 OpenCV概述 OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,由Intel于1999年首次發布,現由非盈利組織OpenCV.org維護。它包含了超過2500種…

AI面試系統助手深度評測:6大主流工具對比分析

導語:秋招季,企業如何破局高效招聘?隨著2024年秋招季臨近,企業招聘壓力陡增。據牛客調研數據顯示,74.2%的求職者已接觸過AI面試,89.2%的企業認為AI顯著提升了篩選效率。然而,面對市場上琳瑯滿目…

浮雕軟件Artcam安裝包百度云網盤下載與安裝指南

如你所知,ArtCAM是一款專業的CAD/CAM軟件工具,主要用于三維浮雕設計、珠寶加工及CNC數控雕刻,可將二維構思快速轉化為三維藝術產品,深受使用者的喜愛。一、主要應用領域?工藝品與制造業?:木工雕花、標牌制作、模具制…

六邊形架構模式深度解析

在分布式系統設計領域,六邊形架構(Hexagonal Architecture,又稱端口與適配器模式)作為一種以領域為中心的架構模式,通過明確分離核心業務邏輯與外部交互,有效提升系統的可測試性、可擴展性與可維護性。本文…

Beelzebub靶機

一、主機發現 arp-scan掃描一下局域網靶機 二、信息收集 nmap -sV -A -T4 -p- 192.168.31.132 22端口ssh服務和80端口web服務是打開的 目錄掃描 三、滲透測試 訪問一下web服務是個apache的首頁 web頁面分析 有一個很奇怪的地方,index.php明明是一個200的響應&a…

目前常用于視頻會議的視頻編碼上行/下行帶寬對比

視頻編碼上行/下行帶寬對比H.264、VP8和VP9在不同終端數量下的上行與下行帶寬需求差異(單位:Mbps)編碼效率說明H.264基準編碼標準,上行和下行帶寬需求相對較高,硬件兼容性最佳VP8開源編碼,上行和下行帶寬均…

CrewAI ——構建多智能體協作的框架

CrewAI 是一個用于構建多智能體協作的框架,它的核心目標是通過協調多個智能體(Agents)來完成復雜任務。這些智能體不僅可以在單一任務中進行合作,還可以在動態、開放的環境中進行交互與協作。CrewAI 的設計和實現使得智能體之間能…

【數據結構初階】--排序(五)--計數排序,排序算法復雜度對比和穩定性分析

🔥個人主頁:草莓熊Lotso 🎬作者簡介:C研發方向學習者 📖個人專欄: 《C語言》 《數據結構與算法》《C語言刷題集》《Leetcode刷題指南》 ??人生格言:生活是默默的堅持,毅力是永久的…

InfluxDB 數據備份與恢復高級策略(二)

案例實戰:InfluxDB 數據備份恢復業務場景描述假設我們正在參與一個大型的物聯網項目,該項目涉及分布在不同區域的數千個傳感器設備 ,這些設備實時采集環境溫度、濕度、設備運行狀態等數據,并將這些數據存儲在 InfluxDB 數據庫中。…

sqli-labs通關筆記-第36關GET寬字符注入(單引號閉合 手工注入+腳本注入 3種方法)

目錄 一、轉義函數 1、mysqli_real_escape_string 2、addslashes 3、轉義區別 二、寬字符注入 三、sqlmap之tamper 四、sqlmap之unmagicquotes 五、源碼分析 1、代碼審計 2、SQL注入安全性分析 六、滲透實戰 1、進入靶場 2、id1探測 3、id-1探測 4、id1%df and…

手撕設計模式——咖啡點單系統之裝飾模式

手撕設計模式——咖啡點單系統之裝飾模式 1.業務需求 ? 大家好,我是菠菜啊,好久不見,今天給大家帶來的是——裝飾模式。老規矩,在介紹這期內容前,我們先來看看這樣的需求:現在有一個咖啡館,有…

LRU Cache緩存替換算法

目錄 一、LRU 是什么?Cache是什么? 二、LRU Cache的實現 三、源碼 一、LRU 是什么?Cache是什么? LRU 是 "Least Recently Used" 的縮寫,意思是“最近最少使用”。它是一種常用的 緩存(Cache&…

自定義視圖:圖形與圖像的處理(二):繪圖

除了使用已有的圖片之外,Android應用還常常需要在運行時動態地生成圖片,比如一個手機游戲,游戲界面看上去豐富多彩,而且可以隨著用戶動作而動態改變,這就需要借助于Android的繪圖支持了。1. Android繪圖基礎:Canvas、P…

微服務、服務網格、Nacos架構與原理

Nacos架構與原理 -服務網格生態-阿里云開發者社區 ------ 該文章用于學習參考,如有侵權,請直接聯系下架 服務網格的核心職責:治理“服務通信” 包括但不限于: 功能 舉例說明 負載均衡 動態選擇服務實例 熔斷、重試 某個服務失敗時自動切換、重試 流量路由 灰度發布、藍綠…

STM32——啟動過程淺析

總:STM32——學習總綱 參考文件: STM32 MAP文件淺析-V1.1 STM32 啟動文件淺析_V1.2 Cortex-M3權威指南(中文)、ARM Cotrex-M3權威指南(英文).zip 一、Map文件解析 1.1 MDK編譯過程文件 在編譯中,會生成11種編譯過程文件,可…

區塊鏈簡介

一、區塊鏈簡介 狹義上的定義: 區塊鏈是一種鏈式數據結構,通過按時間順序將數據塊逐一連接形成。這種結構通過密碼學確保了數據的不可篡改性和不可偽造性,形成了一種分布式賬本技術。 廣義上的定義: 區塊鏈技術不僅僅是一種數據…

NestJS中@Injectable裝飾器

一、基礎定義與核心作用 1.1 什么是Injectable? Injectable() 是 NestJS 依賴注入(Dependency Injection, DI)系統的核心裝飾器,用于將類標記為可注入的提供者(Provider)。它告知 NestJS 的 IoC&#xff08…

【機器學習深度學習】大模型應用落地:微調與RAG的角色與實踐

目錄 前言 一、微調與RAG:大模型應用落地的兩大支柱 1. 微調(Fine-tuning) 2. RAG(Retrieval-Augmented Generation) 二、微調可以做什么? 1. 模型自我認知調整 2. 對話風格優化 3. 提升問題理解能…

List、ArrayList 與順序表

目錄 一、List 介紹 二、線性表 三、自己實現 ArrayList 3.1 顯示元素 3.2 增 3.2.1 默認在數組后面新增元素 3.2.2 在指定位置中新增元素 3.3 查 3.4 取值 3.5 改 3.5.1 把 pos 位置的元素修改成 value 3.5.2 刪除某個元素 3.5.3 清空 四、認識 ArrayList 4.0 說…