程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 數往知來C#面向對象准備〈二〉,

數往知來C#面向對象准備〈二〉,

編輯:C#入門知識

數往知來C#面向對象准備〈二〉,


面向對象(OOP→Object-Oriented Programming)

1.什麼是面向對象?

一種分析問題的方式。
2.面向對象三大特征: 

封裝(隱蔽代碼實現/復用/修改方便)、繼承、多態。
3.什麼是類?什麼是對象?類和對象的區別?如何寫一個汽車類?

類是模具,創建對象的模具,抽象的。
類是一種數據類型,用戶自定義的數據類型      

類組成:字段、屬性、方法、構造函數等
對象是具體的,是類的具體實例。

對象具有屬性(特征)和方法(行為)
案例:創建學生類,老師類,通過構造函數初始化類內部字段
4.this  當前對象
5.類與對象的關系:類是用來描述事物的    

對象是這類事物存在的個體   

描述對象就是描述對象的特征(字段)與行為(方法)
例如:
楊老師和劉波學員都有姓名、性別、年齡等
楊老師有講課的行為,學生有學習的行為

6.類和對象的區別:

類是抽象的概念,僅僅是模板,比如說:“人”類       

對象是一個你能夠看得到、摸得著的具體實體

"人"類都有:姓名\性別\年齡 屬性,有說話的方法.
張三是一個對象,他的姓名屬性的值:張三  性別的屬性的值:男  年齡屬性的值:20   張三會說話


對象可以叫做類的實例(Instance)
類只占一塊內存,每個對象單獨的占用一塊內存。

7.類的定義:

定的定義語法:
[訪問修飾符] class 類名
{
成員;
......
}
類中可以包含變量的定義、方法。

8.類的實例化:

類的實例化,用關鍵字new
語法: 類   實例名 = new 類();
類的成員的訪問:
    實例名.屬性    實例名.方法名();
字段、方法、屬性(後面講)都可以叫做類的成員Member,它們都需要定義訪問級別。訪問級別的用處在於控制成員在哪些地方可以被訪問,這樣達到面向對象中“封裝”的目的。
訪問修飾符:public private (internal protected)

9.屬性

字段用public修飾的問題.
屬性的定義.get;set;
屬性是為了保護與之相對應的字段的.保證對字段的讀取和賦值符合要求.
屬性可分為:讀寫、只讀、只寫
允許外部訪問的變量一定要聲明為屬性
屬性的本質-就是兩個方法。

10.類的構造方法

構造方法初始化對象的字段屬性。
構造函數是用來創建對象的特殊方法,方法名和類名一樣,沒有返回值,連void都不用。
構造函數可以有參數,new 對象的時候傳遞函數參數即可
如果不指定構造函數,則類有一個默認的無參構造函數。如果指定了構造函數,則不再有默認的無參構造函數,如果需要無參構造函數,則需要自己來寫。
構造函數可以重載,也就是有多個參數不同的構造函數。
認識類圖

11.c#中的類圖和通用類圖

QQ截圖20150828114305

12.封裝:

提問:大家覺得什麼是封裝?
遙控器剛出來時候很神奇,點個按鈕就能換電視台、切音量、關電視。而我們使用遙控器的人不需要知道他是怎麼實現的(你只需要付錢就可以)
和遙控器類似,面向對象的封裝就是把事物的狀態和行為封裝在類中,使用類的人不需要知道類內部是怎麼實現的,只要調用其中的屬性和方法實現功能就行。就像你使用遙控,不需要知道他是怎麼控制電視的,只要知道按鈕能換台就行
類和對象本身就是封裝的體現。
屬性封裝了字段、方法和字段封裝成了一個對象、將一堆業務單一的代碼封裝到了一個方法中、將一個功能封裝到了幾個類中、將一些具有相同功能的代碼封裝到了一個程序集中(dll、exe),並且對外提供統一的訪問接口。(屬性名、方法名等。)

13.This關鍵字

this:
1.作為當前類的對象,可以調用類中的成員。this.成員(調用成員,自己)
2.調用本類的其他構造函數。:this()(調用構造函數,自己)

14.命名空間-虛擬的文件夾系統

namespace(命名空間),用於解決類重名問題,可以看做“類的文件夾”。
如果代碼和被使用的類在一個namespace則不需要using。
在不同命名空間下的類調用有兩種方法:
寫全稱  命名空間.類名
先using引用命名空間,再調用

注意:

1.方法的參數列表裡 聲明的形參變量在調用的時候才開辟空間存儲在棧裡

2.當變量是一個類的成員變量的時候,那麼該變量是跟隨類的對象存在於堆內存,但是對象引用斷開時,等垃圾回收器。

3.當變量是一個方法的局部變量時,那麼該變量是在方法被調用時, 存在於棧內存;方法執行完畢後就立即銷毀。

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