當前位置:首頁 » 軟體設計 » 面向對象程序設計

面向對象程序設計

發布時間: 2020-11-24 03:38:40

❶ 面向對象程序設計語言有哪些

1、Smalltalk

Smalltalk被公認為歷史上第二個面向對象的程序設計語言和第一個真正的集成開發環境(IDE)。由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等於70年代初在Xerox PARC開發。

Smalltalk對其它眾多的程序設計語言的產生起到了極大的推動作用,主要有:Objective-C,Actor, Java 和Ruby等。90年代的許多軟體開發思想得利於Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。

2、Eiffel

Eiffel語言是繼Smalltalk-80之後的另一個"純"OOPL。這種語言是由OOP領域中著名的專家Bertrand Meyer等人20世紀80年代後期在ISE公司(Interactive Software Engineering Inc.)開發的,它的主要特點是全面的靜態類型化、有大量的開發工具、支持多繼承。

3、C++

C++是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基於對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。

C++擅長面向對象程序設計的同時,還可以進行基於過程的程序設計,因而C++就適應的問題規模而論,大小由之。

4、Java

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。

Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

(1)面向對象程序設計擴展閱讀:

面向對象程序設計的原則:

1、單一職責原則:一個對象應該只包含單一的職責,並且該職責被完整地封裝在一個類中。

單一職責原則是實現高內聚、低耦合的要素。類的職責主要包括兩個方面:數據職責和行為職責,數據職責是通過其屬性來體現的,行為職責是通過其方法來體現。如果職責過多將導致系統非常的脆弱,類被復用的可能性就越少,一個職責可能會影響其他職責。

2、開閉原則:一個軟體實體應當對擴展開放,對修改關閉。

任何軟體都需要面臨一個問題,當軟體系統需要面對新的需求時,我們要保證系統的設計框架是穩定的。為了滿足開閉原則,需要對系統進行抽象化設計,抽象化是開閉原則的關鍵。百分百的開閉原則很難達到,但是要盡量使系統設計符合開閉原則。

3、里氏代換原則:所有引用基類(父類)的地方必須透明地使用其子類的對象。

里氏代換原則是實現開閉原則的重要方式之一,由於使用基類對象的地方都可以使用子類對象,因此在程序中盡量使用基類類型來對對象進行定義,而在運行時再確定其子類類型,用子類對象代替父類對象。子類的所有方法必須在父類中聲明,或子類必須實現父類中聲明的所有方法。

4、依賴倒轉原則:高層模塊不應該依賴低層模塊,他們都應該依賴於抽象。抽象不應該依賴於細節,細節應該依賴於抽象。

依賴倒轉原則是面向對象設計的主要手段。在代碼中使用抽象類,而具體類放在配置文件中。里氏代換原則是依賴倒轉原則的基礎。如果系統行為發生變化,只需要擴展抽象層,並修改配置文件,而無需修改原有系統的源代碼,滿足開閉原則的設計要求。

5、介面隔離原則:客戶端不應該依賴那些他不需要的介面。

首先需要滿足單一職責原則。將一組相關的操作定義在一個介面中,在滿足高內聚的前提下,介面中的方法越少越好。可以在進行系統設計時採用定製服務的方式。

6、合成復用原則定義:盡量使用對象組合,而不是繼承來達到復用的目的。

通過繼承來實現復用很簡單,而且子類易於擴展。但其主要問題是會破壞系統的封裝性,繼承會將基類的實現細節暴露給子類。同時沒有足夠的靈活性,如果基類發生變化,子類的實現也不得不發生改變。

7、迪米特法則原:每一個軟體單位對其他的單位都只有最少的知識,而且局限於那些與本單位密切相關的軟體單位。

在類的結構設計上,每一個類都應當盡量降低其成員變數和成員函數的訪問許可權。在類的設計上,只要有可能,一個類型應當設計成不變類。一個對象對其他對象的引用,應當降到最低。

❷ 面向對象程序設計語言中的類是什麼概念

類(Class)實際上是對某種類型的對象定義變數和方法的原型。它表示對現實生活中一類具有共同特徵的事物的抽象,是面向對象編程的基礎。

類是對某個對象的定義。它包含有關對象動作方式的信息,包括它的名稱、方法、屬性和事件。實際上它本身並不是對象,因為它不存在於內存中。當引用類的代碼運行時,類的一個新的實例,即對象,就在內存中創建了。雖然只有一個類,但能從這個類在內存中創建多個相同類型的對象。

可以把類看作「理論上」的對象,也就是說,它為對象提供藍圖,但在內存中並不存在。從這個藍圖可以創建任何數量的對象。從類創建的所有對象都有相同的成員:屬性、方法和事件。但是,每個對象都象一個獨立的實體一樣動作。例如,一個對象的屬性可以設置成與同類型的其他對象不同的值。

❸ 怎樣進行面向對象的程序設計

面向對象程序設計的基本概念:面向對象, 概括地說, 就是把問題抽象為對象, 設置屬性(數據) , 指定事件或處理方式(代碼) 來達到目的, 強調從問題域的概念到軟體程序和界面的直接映射。面向對象程序設計中的概念主要包括:對象、類、數據抽象、繼承、動態綁定、數據封裝、多態性、消息傳遞。通過這些概念面向對象的思想得到了具體的體現。
面向對象程序設計的基本特徵1)對象:對象是運行期的基本實體,它是一個封裝了數據和操作這些數據的代碼的邏輯實體。2)類:類是具有相同類型的對象的抽象。一個對象所包含的所有數據和代碼可以通過類來構造。3)封裝性:封裝是一種信息隱蔽技術,它體現於類的說明,是對象的重要特性。封裝使數據和加工該數據的方法(函數)封裝為一個整體,以實現獨立性很強的模塊,使得用戶只能見到對象的外特性(對象能接受哪些消息,具有那些處理能力),而對象的內特性(保存內部狀態的私有數據和實現加工能力的演算法)對用戶是隱蔽的。封裝的目的在於把對象的設計者和對象者的使用分開,使用者不必知曉行為實現的細節,只須用設計者提供的消息來訪問該對象。4)繼承性:繼承性是子類自動共享父類之間數據和方法的機制。它由類的派生功能體現。一個類直接繼承其它類的全部描述,同時可修改和擴充。繼承具有傳遞性。繼承分為單繼承(一個子類只有一父類)和多重繼承(一個類有多個父類)。類的對象是各自封閉的,如果沒繼承性機制,則類對象中數據、方法就會出現大量重復。繼承不僅支持系統的可重用性,而且還促進系統的可擴充性。5)多態性:對象根據所接收的消息而做出動作。同一消息為不同的對象接受時可產生完全不同的行動,這種現象稱為多態性。利用多態性用戶可發送一個通用的信息,而將所有的實現細節都留給接受消息的對象自行決定,如是,同一消息即可調用不同的方法。例如:Print消息被發送給一圖或表時調用的列印方法與將同樣的Print消息發送給一正文文件而調用的列印方法會完全不同。多態性的實現受到繼承性的支持,利用類繼承的層次關系,把具有通用功能的協議存放在類層次中盡可能高的地方,而將實現這一功能的不同方法置於較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在OOPL中可通過在派生類中重定義基類函數(定義為重載函數或虛函數)來實現多態性。6)動態綁定
綁定指的是將一個過程調用與相應代碼鏈接起來的行為。動態綁定是指與給定的過程調用相關聯的代碼只有在運行期才可知的一種綁定,它是多態實現的具體形式。7)消息傳遞:對象之間需要相互溝通,溝通的途徑就是對象之間收發信息。消息內容包括接收消息的對象的標識,需要調用的函數的標識,以及必要的信息。消息傳遞的概念使得對現實世界的描述更容易。
面向對象語言

❹ 面向對象程序設計!!

class people {
protected double height, weight;

public void setp (double height, double weight) {
this.height = height;
this.weight = weight;
}

public void showp () {
System.out.println("height: " + height);
System.out.println("weight: " + weight);
}
}

public class student extends people {
private int sno;

public sets (double height, double weight, int sno) {
this.height = height;
this.weight = weight;
this.sno = sno;
}

public void shows () {
super.showp();
System.out.println("sno: " + sno);
}

public static void main (String args[]) {
student stu = new student();
stu.sets(1.80, 120.5, 12345);
stu.shows();
}
}

❺ 面向對象程序設計的優點是什麼

1、維護簡單
面向對象程序設計的一個特徵就是模塊化。實體可以被表示為類以及同一名字空間中具有相同功能的類,可以在名字空間中添加一個類而不影響該名字空間的其他成員。這種特徵為程序的維護提供了便捷性。


2、可擴充性
如果有一個具有某一種功能的類,就可以擴充這個類,創建一個具有擴充功能的類。


3、代碼重用
功能是被封裝在類中的,類是作為一個獨立實體而存在的,因此可以很簡單的提供類庫,使代碼得以重復使用。

(5)面向對象程序設計擴展閱讀

面向對象程序設計(Object Oriented Programming)作為一種新方法,其本質是以建立模型體現出來的抽象思維過程和面向對象的方法。模型是用來反映現實世界中事物特徵的。任何一個模型都不可能反映客觀事物的一切具體特徵,只能對事物特徵和變化規律的一種抽象,且在它所涉及的范圍內更普遍、更集中、更深刻地描述客體的特徵。通過建立模型而達到的抽象是人們對客體認識的深化。

❻ 面向對象程序設計!!

面向對象程序設計中的概念主要包括:對象、類、數據抽象、繼承、動態綁定、數據封裝、多態性、消息傳遞。通過這些概念面向對象的思想得到了具體的體現。
1)對象
對象是運行期的基本實體,它是一個封裝了數據和操作這些數據的代碼的邏輯實體。
2)類
類是具有相同類型的對象的抽象。一個對象所包含的所有數據和代碼可以通過類來構造。
3)封裝
封裝是將數據和代碼捆綁到一起,避免了外界的干擾和不確定性。對象的某些數據和代碼可以是私有的,不能被外界訪問,以此實現對數據和代碼不同級別的訪問許可權。
4)繼承
繼承是讓某個類型的對象獲得另一個類型的對象的特徵。通過繼承可以實現代碼的重用:從已存在的類派生出的一個新類將自動具有原來那個類的特性,同時,它還可以擁有自己的新特性。
5)多態
多態是指不同事物具有不同表現形式的能力。多態機制使具有不同內部結構的對象可以共享相同的外部介面,通過這種方式減少代碼的復雜度。
6)動態綁定
綁定指的是將一個過程調用與相應代碼鏈接起來的行為。動態綁定是指與給定的過程調用相關聯的代碼只有在運行期才可知的一種綁定,它是多態實現的具體形式。
7)消息傳遞
對象之間需要相互溝通,溝通的途徑就是對象之間收發信息。消息內容包括接收消息的對象的標識,需要調用的函數的標識,以及必要的信息。消息傳遞的概念使得對現實世界的描述更容易。

❼ "面向對象程序設計"為什麼叫面向對象怎麼解釋,通俗易懂

面向對象(Object
Oriented,OO)是軟體開發方法。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。面向對象是一種對現實世界理解和抽象的方法,是計算機編程技術
發展到一定階段後的產物。
⑴對象。
對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。
⑵對象的狀態和行為。
對象具有狀態,一個對象用數據值來描述它的狀態。
對象還有操作,用於改變對象的狀態,對象及其操作就是對象的行為。
對象實現了數據和操作的結合,使數據和操作封裝於對象的統一體中
⑶類。
具有相同特性(數據元素)和行為(功能)的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象,類實際上就是一種數據類型。
類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。
⑷類的結構。
在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。
①一般--具體結構稱為分類結構,也可以說是「或」關系,或者是「is
a」關系。
②整體--部分結構稱為組裝結構,它們之間的關系是一種「與」關系,或者是「has
a」關系。
⑸消息和方法。
對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變數名,或者是所有對象都知道的全局變數名。
類中操作的實現過程叫做方法,一個方法有方法名、返回值、參數、方法體。

❽ 面向對象程序設計的特點和優點

面向對象的基本概念

(1)對象。
對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。

(2)對象的狀態和行為。
對象具有狀態,一個對象用數據值來描述它的狀態。
對象還有操作,用於改變對象的狀態,對象及其操作就是對象的行為。
對象實現了數據和操作的結合,使數據和操作封裝於對象的統一體中

(3)類。
具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。
類具有屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。

(4)類的結構。
在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。

①一般——具體結構稱為分類結構,也可以說是「或」關系,或者是「is a」關系。
②整體——部分結構稱為組裝結構,它們之間的關系是一種「與」關系,或者是「has a」關系。

(5)消息和方法。
對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操作的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變數名,或者是所有對象都知道的全局變數名。

類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體

面向對象的特徵

(1)對象唯一性。
每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。

(2)分類性。
分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。

(3)繼承性。
繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。

繼承性是面向對象程序設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。

在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。
在軟體開發中,類的繼承性使所建立的軟體具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。
採用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟體的重用性。

(4)多態性(多形性)
多態性使指相同的操作或函數、過程可作用於多種類型的對象上並獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。
多態性允許每個對象以適合自身的方式去響應共同的消息。
多態性增強了軟體的靈活性和重用性。

三、面向對象的要素

(1)抽象。
抽象是指強調實體的本質、內在的屬性。在系統開發中,抽象指的是在決定如何實現對象之前的對象的意義和行為。使用抽象可以盡可能避免過早考慮一些細節。

類實現了對象的數據(即狀態)和行為的抽象。

(2)封裝性(信息隱藏)。
封裝性是保證軟體部件具有優良的模塊性的基礎。
面向對象的類是封裝良好的模塊,類定義將其說明(用戶可見的外部介面)與實現(用戶不可見的內部實現)顯式地分開,其內部實現按其具體定義的作用域提供保護。
對象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動影響。面向對象的封裝比傳統語言的封裝更為清晰、更為有力。

(3)共享性
面向對象技術在不同級別上促進了共享
同一類中的共享。同一類中的對象有著相同數據結構。這些對象之間是結構、行為特徵的共享關系。
在同一應用中共享。在同一應用的類層次結構中,存在繼承關系的各相似子類中,存在數據結構和行為的繼承,使各相似子類共享共同的結構和行為。使用繼承來實現代碼的共享,這也是面向對象的主要優點之一。
在不同應用中共享。面向對象不僅允許在同一應用中共享信息,而且為未來目標的可重用設計准備了條件。通過類庫這種機制和結構來實現不同應用中的信息共享。

4.強調對象結構而不是程序結構

❾ 面向對象程序設計

i=1,j=2,輸出+
i=2,j=4,輸出*
i=3,j=8,輸出*
此時j=8>5結束循環

所以答案應該為+**
(如果對你有用請給我個贊₍ᐢ •⌄• ᐢ₎)

❿ 面向對象程序設計

  1. 類具有相同特徵的集合,是現實世界或思維世界中的實體在計算機中的反映,它將數據以及這些數據上的操作封裝在一起。對象是具有類類型的變數。類是對象的抽象,而對象是類的具體實例。類是抽象的,不佔用內存,而對象是具體的,佔用存儲空間。類是用於創建對象的藍圖,它是一個定義包括在特定類型的對象中的方法和變數的軟體模板。

  2. private 許可權:能夠訪問的有二類:1.自己類本身,2.在類中申明的友員函數,友員類;protected 許可權:在private的許可權上,加上可以被子類訪問.;public 許可權 : 公開的介面,任何函數都可以.

  3. 函數模板是一個模板(模板類別:函數)的定義,模板函數則是這個模板的參數類型實例化時的函數

  4. 在面向對象的程序設計理論中,多態性的定義是:同一操作作用於不同的類的實例,將產生不同的執行結果,即不同類的對象收到相同的消息時,得到不同的結果。多態是面向對象程序設計的重要特徵之一,是擴展性在「繼承」之後的又一重大表現 。對象根據所接受的消息而做出動作,同樣的消息被不同的對象接受時可能導致完全不同的行為,多態性包含編譯時的多態性、運行時的多態性兩大類

  5. 編程這么easy,自己搞定吧

熱點內容
美發店認證 發布:2021-03-16 21:43:38 瀏覽:443
物業糾紛原因 發布:2021-03-16 21:42:46 瀏覽:474
全國著名不孕不育醫院 發布:2021-03-16 21:42:24 瀏覽:679
知名明星確診 發布:2021-03-16 21:42:04 瀏覽:14
ipad大專有用嗎 發布:2021-03-16 21:40:58 瀏覽:670
公務員協議班值得嗎 發布:2021-03-16 21:40:00 瀏覽:21
知名書店品牌 發布:2021-03-16 21:39:09 瀏覽:949
q雷授權碼在哪裡買 發布:2021-03-16 21:38:44 瀏覽:852
圖書天貓轉讓 發布:2021-03-16 21:38:26 瀏覽:707
寶寶水杯品牌 發布:2021-03-16 21:35:56 瀏覽:837