元件、介面、類、物件之間的關係
原文地址連線:http://www.cppblog.com/cforce/archive/2012/07/06/181972.aspx
什麼是元件
個人的理解,元件是為了實現某個功能而整合在一起的方法及資料的集合,為了描述元件的特徵元件中還包含一些描述資訊,諸如元件的名稱或ID,提供哪些介面,版本資訊等。通常元件是以二進位制檔案提供的,但也可以以原始碼的形式提供,只是這種情況不多見。元件和類的關係
元件可以理解為類的超集,它可能包含若干個類,當然也可以只有一個類;此外元件往往需要提供一些額外的描述資訊,供元件管理器管理,而類缺乏這些資訊。類加上這些必要的資訊,基本上就差不多等同於元件了。不過,通常元件是以二進位制形式釋出,而類是原始碼層面的東西。
元件和物件的關係 元件是靜態的程式碼和資料,而物件是動態建立的實體。二者的關係有點像class與物件。
介面是什麼
簡單的來說,介面可以理解為一種呼叫形式的約定。介面往往包含一系列的介面函式的描述。介面僅僅描述了這些函式的名稱、返回值、呼叫約定、引數列表以及這些函式的順序。但是介面並不實現這些函式,它僅僅是一種約定,或者說是一種描述,負責實現它的是物件。
這些概念挺枯燥的,但是為了後續介紹XCA的整體框架,不得不先把這些概念做個約定。
相關推薦
介面與介面、介面與類之間的關係
類與介面之間關係: 實現關係。 類與介面要注意的事項:1. 非抽象類實現一個介面時,必須要把介面中所有方法全部實現。2. 抽象類實現一個介面時,可以實現也可以不實現介面中的 方法。3. 一個類可以實現
java泛型(泛型介面、泛型類、泛型方法)
泛型介面: 定義一個泛型介面: 通過類去實現這個泛型介面的時候指定泛型T的具體型別。 指定具體型別為Integer: 指定具體型別為String: 指定具體型別為一個自定義的物件: 泛型類: 在編譯器,是無法知道K和V具體是什麼型別,只
泛型方法、泛型類、泛型介面
泛型的幾種正確寫法: |--List<String> list = new ArrayList<String>(); ----推薦使用的寫法 |--List<String> list = new ArrayList(); ---可以使用,但不推薦,是為了相容老版本
取得類所實現的介面、取得父類、全部構造方法
通過getInterfaces()方法取得類所實現的介面 package org.lxh.demo15.classinfodemo ; interface China{ // 定義China介面
面向物件設計物件之間關係---依賴、關聯、聚合和組合
在學習面向物件設計物件關係時,依賴、關聯、聚合和組合這四種關係之間區別比較容易混淆。特別是後三種,僅僅是在語義上有所區別,所謂語義就是指上下文環境、特定情景等。他們在程式語言中的體現卻是基本相同的,但是基本相同並不等於完全相同,這一點在我的前一篇博文《設計模式中類的關係》
JS中集合物件(Array、Map、Set)及類陣列物件的使用與對比
原文地址 在使用js程式設計的時候,常常會用到集合物件,集合物件其實是一種泛型,在js中沒有明確的規定其內元素的型別,但在強型別語言譬如Java中泛型強制要求指定型別。 ES6引入了iterable型別,Array,Map,Set都屬於iter
類與物件的關係、封裝、多型
猶如模具與鑄件之間的關係,一個屬於某類的物件稱為該類的一個例項。 封裝:定義:特殊類的物件擁有其一般類的全部屬性與服務,稱作特殊類對一般類的繼承。封裝:定義:特殊類的物件擁有其一般類的全部屬性與
第9課:備份mysql數據庫、重寫父類、unittest框架、多線程
.sql 普通 解鎖 info root size print add AC 1. 寫代碼備份mysql數據庫: 1)Linux下,備份mysql數據庫,在shell下執行命令:mysqldump -uroot -p123456 -A >db_bak.sql即可
抽象類、內部抽象類、模板設計演算法
抽象類的定義與使用 定義: 抽象類只是在普通類的基礎上擴充了一些抽象方法而已。 抽象方法: 只宣告未定義的方法(沒有方法體) 所有抽象方法要求使用abstract來定義,並且抽象方法所在類必須用abstract來定義,表示抽象類。 抽象類的使用原則:
聚類程式(彙總)k-means、層次聚類、神經網路聚類、高斯混合聚類等
利用不同方法對資料進行聚類,參考至:周志華 機器學習 %% 利用不同方法對債券樣本進行聚類 %說明 %分別採用不同的方法,對資料進行聚類 %kmens可以選擇的pdist/clustering距離 % 'sqeuclidean' 'cityblock
Swift -繼承、屬性、重寫父類、懶載入、解構函式
1. 新建工程命名:zhoukaojineng,建立一個類Person,在類中定義方法eat,實現列印“吃飯” 2. 建立一個繼承自Person的Teacher類,在Teacher類中定義方法teach,實現列印“上課”,呼叫其父類的eat函式 3. 建立一個類Student並繼承與Pe
10、【C++】前向宣告、巢狀類、區域性類(內部類)
一、前向宣告 在C++中,類需要先定義,而後才能被例項化,但是實際存在一種場景是:兩個類需要相互引用或相互成為類中的子物件成員時,就無法先定義使用,在編譯環節就出現錯誤導致編譯失敗,這時就需要用到前向宣告,此外,前向宣告的類不能被例項化。 【示例】 //
10)SpringBoot 資料操作04 -> JPA實體類註解、springboot測試類、lombok的使用
前提準備: 搭建一個springboot專案,詳情請參見其它部落格:點選前往 1 引入相關依賴 web、mysql、jpa、lombok <?xml version="1.0" encoding="UTF-8"?> <project
Java中的單例模式、工廠模式、介面回撥、異常
for迴圈:起點為基本資料型別,包括boolean . equals():重寫原因,希望在地址不同但內容相同時也能返回true。 匿名物件:直接new出物件,不需要物件名來接收。 new Person().show(); 內部類:類
16 More Effective C++ —— 條款23/24 (虛擬函式、虛基類、多繼承、RTTI)
0 前序 由於條款23只是針對iostream和stdio.h之間,進行執行效率的對比,此處不會詳細展開。其宗旨是儘量使用C++的庫,可以提高程式的執行效率和安全性。 此篇將著重討論條論24的內容。 1 多型 C++中,多型是指使用基類指標、引用指向派生類,若基類和派生類中,
機器學習總結(十):常用聚類演算法(Kmeans、密度聚類、層次聚類)及常見問題
任務:將資料集中的樣本劃分成若干個通常不相交的子集。 效能度量:類內相似度高,類間相似度低。兩大類:1.有參考標籤,外部指標;2.無參照,內部指標。 距離計算:非負性,同一性(與自身距離為0),對稱性
【04】前向宣告、巢狀類、區域性類
(1)class A;即前向聲明瞭這個A類,此時A類被宣告而沒有被定義(這種時候稱之為前向宣告),在宣告之後,定義之前,類A是一個不完整型別。系統這個時候知道A是一個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完全型別只能用於定義指向該型別的指標及引用,或者用於宣
常用工具類(日誌、Toast、SPUtils、單位轉換類、 DensityUtils、SDCardUtils、ScreenU、App相關輔助類、KeyBoardUtils、NetUtils、Http)
開啟大家手上的專案,基本都會有一大批的輔助類,今天特此整理出10個基本每個專案中都會使用的工具類,用於快速開發~~ 在此感謝群裡給我發專案中工具類的兄弟/姐妹~ 1、日誌工具類L.java package com.zhy.utils; import android.ut
C# 基礎(二十)C# 介面詳細解析:介面的定義、介面的優點、介面應用舉例
一、簡介 1、介面的定義 常用的介面,一般定義了 方法和屬性,比如: //賬戶介面1(所有銀行賬戶類都要繼承此介面) public interface IBankAccount { void PayIn(decimal amount);//存錢
Android Launcher分析和修改2——Icon修改、介面佈局調整、桌布設定
<!-- Workspace cell size --> <dimen name="workspace_cell_width_land">88dp</dimen> <dimen name="workspace_cell_width_port">