程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB.NET >> 什麼是oop

什麼是oop

編輯:VB.NET

OOP(Object-Oriented-Programming)是相對於結構化程序設計(Structure Programming)而言的,表示采用面向對象的思想進行軟件的編制。它是當今最流行的編程模式。“面向對象”技術追求的是軟件系統對現實世界的直接模擬,盡量實現將現實世界中的事物直接映射到軟件系統的解空間。面向對象編程和以前的編程思想有所不同,因為它把一個新的概念--對象,作為程序代碼的整個結構的基礎和組成元素。而類就是對象的抽象和概括,類是數據、屬性和方法的封裝,從某種角度來講,類就像一個沒有界面的控件。
對象的定義:對象是現實世界中的一個實體。它有如下特征:有一個名字以區別於其他的對象;有一個狀態用來描述它的默寫特征;有一組操作,每一個操作決定於對象的一種功能或行為,對象的操作可分為兩類:一類是自身承受的操作,一類是加於其他對象的操作,是其自身所具有的狀態特征及可以對這些狀態施加的操作結合在一起所構成的獨立實體。
例如下面這個例子:

對象的狀態:
   對象名:張三
   性別:女
   身高:1.65米
   體重:55公斤
對象的功能:
   回答體重
   回答身高
   回答性別
   教概率課
   當家教

在計算機世界中可以把對象看成是存儲中的一個可標識的區域,它能保存固定或可變數目的數值。對象的劃分並沒有惟一的標准,它依賴於設置對象的目的和所需要的操作。一個對象的狀態並不是完全用來直接為外界服務的,但其本身是能夠為外界服務的基礎。所以對象的特征表現為:模塊的獨立性,也就是模塊內部狀態不因外界的干擾而改變,模塊間依賴性小,各模塊可獨立為系統所組合選用和復用;動態連結性,即通過消息激活機制,把對象之間動態聯系在一起,使整個機制運轉起來,便稱為對象的連結性;易維護性,就是對象的功能被“隱藏”,修改完善功能被局限於該對象的內部,不會波及到外部。

在面向對象系統中,對象之間的聯系是通過消息來傳遞的。消息,是對象之間相互請求或相互協作的途徑,是要求某個對象執行某個功能操作的規格的說明。它有如下的性質:
(1)同一個對象可接收不同形式的多個消息,產生不同的響應;
(2)相同形式的消息可以送給不同對象,所做出的響應可以是截然不同的;
(3)消息的發送可以不考慮具體的接收者,對象可以響應消息,也可以對消息不予理會,對消息的響應並不是必須的。

消息分為公有消息和私有消息,由外界對象直接向其發送的消息是公有消息;而由自己向本身發送的,不對外開放,外界不必了解的是私有消息。

以上我們主要扼要地討論了一下對象及它的一些特性,現在我們就可以提出類的概念了。類,是對一組客觀對象的抽象,它將該組對象所具有的共同特征(包括結構特征和行為特征)集中起來,以說明該組對象的能力和性質。在計算機世界的系統構成上,類形成了一個具有特定功能的模塊和一種代碼共享的手段。

面向對象的系統都具有三個特性:封裝性、繼承性和多態性

封裝:將一個數據和與這個數據有關的操作集合放在一起,形成一個能動的實體--對象,用戶不必知道對象行為的實現細節,只需根據對象提供的外部特性接口訪問對象即可。目的在於將對象的用戶與設計者分開,用戶不必知道對象行為的細節,只需用設計者提供的協議命令對象去做就可以。

繼承:繼承所表達的就是一種對象類之間的相交關系。它使得某類對象可以繼承另外一類對象的特征和能力。
若類間具有繼承關系,則它們之間應具有下列幾個特性:
(1)類間具有共享特征(包括數據和程序代碼之間的共享);
(2)類間具有細微的差別或新增部分(包括非共享的程序代碼和數據);
(3)類間具有層次結構。

多態:多態性描述的是同一個消息可以根據發送消息對象的不同采用多種不同的行為方式。

所以說,面向對象的程序可以看成就是這樣一些具有數據、方法的對象之間的作用。用戶在設計程序的時候就需要特別注意對類的選取和設計。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved