C物件導向的特徵是什麼,JAVA物件導向的特徵及什麼是物件導向

2022-09-03 17:55:03 字數 3555 閱讀 2499

1樓:厚學設計培訓指南

一,封裝:

首先我們可以把世界上任何乙個東西都看作為乙個物件,在這裡就以人為例,那麼乙個人就是乙個物件。

封裝的意思是什麼?

可以這樣的去理解封裝就是這個人要完成一件事情,他所需要的任何工具都帶在了自己的身上,所需要的技術也都裝在了自己的腦子裡了。不需要借助於別人的力量就能完成這一件事情。這樣做的好處就是如果我要吩咐這個人去完成一件事情,並不需要知道它是怎麼完成的,也不需要協助他去完成,只知道結果,它完成了,也就行了,至於它是先做什麼,後做什麼我們也不需要知道,這樣是有利於他盡力的去完成這些事情。

用書面的語言解釋就是:

每個物件都是包含它能進行操作所需要的所有資訊,所以物件不必依賴其它的物件來完成自己的操作。

二,繼承:

還是以人為例子,我們知道每個人都會有一些共同的特徵,都要做一些相同的事情。比如:人都有乙個腦袋,二只胳膊,二條腳,這是共同的特徵吧。

生活上都要吃飯,喝水,這是要做的相同的事情。若我們現在要宣告很多個人,每個人都會有這些特徵,這樣就需要去寫很多重複的**?因此我們先建乙個人的父類,這個父類不代表乙個具體的人,它只是乙個擁有人所有共同特性的虛擬的人。

下次我們要例項化乙個具體的人的時候,只需繼承上面這個「虛擬的人」,他就擁有了人的所有共同特性。通過繼承的方法重複的**就不用寫了。

實際上繼承的目的不僅僅是為了節省**,它還有實現後面的多型的功能。一般的初學者只需要了解繼承可以少寫很多**,在專案中可以不斷的去學習。

利用書面的乙個解釋如下:

物件的繼承代表一種"is-a"的關係,我們假如兩個物件a和b,如果可以描述為"b就是a",那麼則表示b可以繼承自a。

需要注意的是:

如果a繼承了b,那麼a不僅擁有了b除私有的特性外的所有特性,a還可以擁有自己獨特的特性。在上面的人的例子中,乙個繼承了「虛擬的人」,那麼他除了有乙個腦袋,二只胳膊,二條腳,要吃飯喝水外,他可能還會程式設計。因此程式設計就是他獨特的特性了,並不是每個人都會程式設計的。

三:什麼是多型:

有多型之前必須要有繼承,需要了解清楚的是只有多個類同時繼承了同乙個類,才有多型這樣的說法。

說開了人,就用人的例子,在前面我們有說過人都要做「吃飯」這樣乙個相同的事情。「吃飯」這個事情,在類中的體現就是方法了。因為是人都是要做的,因此我們在「虛擬的人」中寫好了這個方法之後,吃飯方法都不同,有用筷的也有用叉的,有要吃公尺飯的也有要吃麵的。

所以如果我們要描述不同人的吃飯的過程,就要把這個過程放到具體的子類中去了,同樣的道理,子類都有不同的實現方式,這個意思就是多型了,多型有助於程式的靈活性。

需要注意的是:子類中如果重寫了父類的方法(多型),那麼父類中的這個方法是不會再呼叫。

2樓:無風無月也無你你

類 物件(事件,方法,屬性) 類:從具有相同屬性的事物當中抽象出來的概念,一般用來描述同類個體的集合。 物件:

從類當中具體化的乙個個體。 屬性:用來描述物件特徵的。

靜態的東西(變數)。 方法:說明物件具有的能力。

(函式) 事件:具有觸發能力的函式。 方法:

是主動的,事件是被動的。由物件主動發出的動作叫方法,由外部事物發出,受動者是物件的叫事件

j**a物件導向的特徵及什麼是物件導向

c#物件導向三大特徵分別有什麼用?

3樓:匿名使用者

封裝: 分離本質細節與非本質細節

繼承: 描述「一般--特殊」關係,實現某種程度上的復用。

多型: 用不同的方式實現了同乙個概念。

從程式設計的角度來說:

封裝就是將你的程式的功能(做什麼,稱為介面)和你的程式的實現(怎麼做,稱為實現)分開。

繼承則描述了不同型別物件之間的共性,依次減少系統的冗餘性。

多型則提供了同一種功能使用不同實現的能力。

舉個例來說:

1.你定義了乙個函式,這個函式是用來實現某種功能的,通過封裝,我們將這個函式的本質(做什麼)放在函式的宣告,將這個函式的非本質細節(怎麼做)放到函式體裡。因為函式做什麼(本質上的東西)一般是不會變的,而函式怎麼做通常因為各種考慮(效能、可靠性)而發生改變,所以將介面與實現分離可以減少實現的改變對使用者**的影響,降低程式中不同部分的耦合度。

2.考慮一些不同型別的容器(如向量、列表、雜湊表等),每種容器都有一系列相同的操作(如插入元素、刪除元素、遍歷容器等)和一系列屬性(元素的個數等)。如果分別獨立的(不適用繼承)為每種元素建立乙個類,那麼將會產生大量的容易系統冗餘**(相似的操作和屬性重複出現在不同的類中)。

但是通過繼承,可以將不同類中相似的部分記錄在乙個類裡,依次來減小系統的冗餘性。

3.前面談到的容器例子實際上有乙個問題:雖然每種容器都有相同的操作但是每種型別的容器的同乙個操作可能不一樣,而多型正是用來描述這些不同。

多型是這樣描述的:在繼承層次結構中,統一操作,不同的實現方式。

這「三大特徵」 只有你把要做的事情都弄清楚以後,才可能使用到這「三大特徵」。物件導向終究是要靠自己,不然每個人都去背這些概念,然後都成了工程師。

物件導向最關鍵的兩步過程: 發現 和 發明

發現需要偵探的直覺和數學家的洞察力,發明需要科學家的頭腦和藝術家的創造力。

4樓:匿名使用者

只是一種程式設計思想!!引導你設計程式時的思維方式!!

物件導向程式設計的基本特徵是什麼?

物件導向的三大特徵(封裝,繼承,多型)通俗一點怎麼理解c#結合

5樓:匿名使用者

實際上物件導向還有其他重要的特徵,國內的教材都只是說三大特徵。

封裝:1.指將資料和相應的函式放到一起形成乙個類的過程。相當於將操作結構體的函式放到結構體中。

2.指利用一切語言特徵將類的實現細節隱藏起來的過程。

繼承:就是在寫**的過程中,常常會發現某些現有類有些方面有很大相似性(比如實現類似的功能、擁有相同的函式等等),這時候我們建立另外乙個類(基類、父類)來描述這種相似性,所有派生自該基類的派生類都具備這種相似性。通過繼承,我們在乙個類(或者乙個類層次結構中)描述了不同類之間的相似性,因此減少了**的冗餘性,不然相同的概念要在不同地方重複。

多型:這個概念是與繼承密切相關的,是指同乙個成員函式在不同的派生類中有不同的行為(定義),也就是描述了相似中的差異。

c# 物件導向是什麼

6樓:

物件導向就是所有的操作都是基於物件的,所關注的是物件,「我想知道textbox裡的內容」這個操作,直接找textbox物件的text屬性就可以了。敢問你對物件這個概念有怎樣的理解,物件導向的重點是物件,而不是面向,如果你想知道「面向」這個詞的字面意思,「面,臉,向,朝向「,臉朝向什麼地方不就是關注的是什麼地方,單純的咬文嚼字沒有意義。

物件導向中的面向即是c#中的操作是基於物件的,像是乙個textbox控制項即是乙個物件,我們要知道控制項中的內容就由textbox的屬性text獲得。

所謂的類即是型別,任何物件都有乙個型別,像是張三這個物件他的型別是男人,李四這個物件她的型別是女人,類你可以理解為若干個同類物件的共有屬性、方法等的集合。

7樓:匿名使用者

就是把 你需要的東西當成乙個物件

C 物件導向,c語言是面向過程的還是物件導向的?

c語言是面向過程的還是物件導向的?c語言是面向過程的。面向過程是著重於其中程式設計的演算法 語言的運用,如設計不同功能的函式。c 是物件導向的。c語言能以簡易的方式編譯 處理低階儲存器。c語言是僅產生少量的機器語言以及不需要任何執行環境支援便能執行的高效率程式語言。c語言的特點 1 具有較好的可移植...

C物件導向程式設計的圖書五,C物件導向程式設計第五章第5題求解

書 名 c 物件導向程式設計 作 者 慄青生出版 c 物件導向程式設計第五章第5題求解 1 b1.i 正確因為i是a類的公有成員,可以繼承到子類b b1.j b1.k 錯誤。因為j為保護成員,k為私有成員,雖然被繼承了,但不能夠訪問,正如a1.j,a1.k也是錯誤的。這樣呼叫只能呼叫公有成員 2 都...

物件導向的方法的概念是什麼,物件導向方法包括什麼?

很難說清楚,入門後才能體會 乙個物件可以說是一或多個類,包含很多屬性,方法。在java中new 就是建立物件,為物件在記憶體分配空間,但是空間是不可確定的,以java為例 public class bick bick 就是乙個簡單的物件,a,b是其中的屬性,method1是方法 而method1 也...