物件導向程式設計(object-oriented programming,縮寫:oop),指一種程式設計范型,同時也是一種程式開發的方法。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充套件性。
c#語言是一種現代、物件導向的語言。物件導向程式設計方法提出了乙個全新的概念:類,它的主要思想是將資料(資料成員)及處理這些資料的相應方法(函式成員)封裝到類中,類的例項則稱為物件。
物件是類在記憶體中的實體,類不但用於描述物件在記憶體中的資料,
還包括處理這些資料的函式。類是對資料和處理資料的方法(函式)的封裝。類是對某一類具有相同特性和行為的事物的描述。也就說類用於定義物件的長相。
抽象:抽象是從眾多的事物中抽取出共同的、本質性的特徵,而捨棄其非本質的特徵。
繼承:繼承是指乙個物件直接使用另一物件的屬性和方法。
c#中索引器的作用:
c#通過提供索引器,可以象處理陣列一樣處理物件。特別是屬性,每乙個元素都以乙個get或set方法暴露。索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。
委託:委託是一種在物件裡儲存方法引用的型別,同時也是一種型別安全的函式指標。委託是引用型別的變數,他可以包含對方法的引用,當程式必須通過呼叫乙個方法來執行某個操作,但在編譯時不知道該方法是什麼時,就可以使用委託。委託允許在程式執行時指定呼叫的方法,委託的特點是物件導向的,型別是安全的。
事件:事件是一種特殊的委託
運算子過載:
運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。
現在我們來定義乙個person類,該此類例項化
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace person
,年齡:",name,age);
}public void setname(string personname)//指定修改姓名的方法(函式)
public void setage(int personage)//指定修改年齡的方法(函式)
public person(string name,int age)//建構函式,函式名和類同名,無返回值
public person() //類的建構函式過載
class class}}
}
在類(class)中,不能直接修改person類中的私有成員
oneperson.name="王五";
通過person類中公有方法setname 修改person類中的私有成員name.
析構函式:用語句person oneperson=new person("李四",30)生成物件時,將呼叫有引數的建構函式,而用語句person oneperson=new person()生成物件時,呼叫無引數的建構函式。由於析構函式無引數,因此,析構函式不能過載。
執行後的結果:
c#其實真正帶領自己進入物件導向的世界,精彩才剛剛開始,以後的路更美好。
面對物件(中)作業
1封裝,繼承,多型 2利用抽象資料型別 類 將資料和基於資料的操作繫結在一起,資料被儲存在抽象資料型別內部,系統只有通過被授權的操作方法才能訪問資料。3物件可以用別的物件的引用與別的物件互相作用,條件是該物件的屬性與方法最好為public。不包括同一包,或子類 4 protected修飾符,在類的定...
mysql面對物件 面對物件資料庫
物件導向的方式訪問資料庫 造物件 db new mysqli localhost root 123 mydb 判斷連線是否出錯 if mysqli connect error mysqli connect error or die 連線失敗!寫sql語句 sql insert into info v...
面對物件 多型
1,多型 封裝1,私有化 保證資料安全性 2,抽取成方法 提高 的復用性和可維護性 繼承可以讓類跟類之間產生關係 可以抽取重複的 到父類中。是多型的前提 多型多種形態 概述 student s new student 真正的物件 new student 左邊的s 僅僅是乙個接收變數而已。因為要方便以...