從入門到精通光盤資源第9章結(jié)構(gòu)和類_第1頁
從入門到精通光盤資源第9章結(jié)構(gòu)和類_第2頁
從入門到精通光盤資源第9章結(jié)構(gòu)和類_第3頁
從入門到精通光盤資源第9章結(jié)構(gòu)和類_第4頁
從入門到精通光盤資源第9章結(jié)構(gòu)和類_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

結(jié)

構(gòu)本講大綱:支持網(wǎng)站:1、結(jié)構(gòu)概述2、結(jié)構(gòu)的使用為什么需要結(jié)構(gòu)System.Drawing.Color有很多顏色值,它是一個枚舉嗎?有很多預(yù)定義顏色正常人眼可分辨的顏色種類可達(dá)幾十萬種以上Color提供使用RGB值返回顏色的方法FromArgb()System.Drawing.Color是一個結(jié)構(gòu)結(jié)構(gòu)定義結(jié)構(gòu)中有屬性,也可以有方法public

struct

StructStudent{public

string

Name;public

int

Age;

public

string

Hobby;public

int

Popularity;public

void

SayHi(){//

….}}訪問修飾符struct

結(jié)構(gòu)名{定義結(jié)構(gòu)成員}構(gòu)成和類相似定義成員變量不能賦初值成員方法//…StructStudent

myStu;myStu.Age

=

20;myStu.Gender=Genders.Female;myStu.Hobby="唱歌歌";myStu.Name="張靚靚";myStu.Popularity=100;myStu.SayHi();//…結(jié)構(gòu)的使用2-1定義結(jié)構(gòu)可以不用new為結(jié)構(gòu)成員賦值調(diào)用結(jié)構(gòu)的方法演示示例2:MyStruct運(yùn)行結(jié)果和第二章的SayHi相同//

…StructStudent

myStu

=new

StructStudent("張靚靚",Genders.Female,20,"唱歌歌",100);myStu.SayHi();//…結(jié)構(gòu)的使用2-2struct

StructStudent{//…public

StructStudent(string

name,

Genders

gender,

int

age,string

hobby,

int

popularity){this.Name

=

name;this.Gender

=

gender;//…}}可以有構(gòu)造函數(shù)只能聲明有參數(shù)的構(gòu)造函數(shù)構(gòu)造函數(shù)傳參類圖VS2005的類圖類圖描述類的結(jié)構(gòu)查看一個類的類圖“鎖”表示私有不同字段有不同的圖標(biāo)通用的類圖-

age:int-

name:string+

Name:string類名Student+SayHi():void“-”表示私有

“+”表示公有“:”后是變量類型“:”后是返回類型讀懂類圖是OOP的基本要求理解結(jié)構(gòu)與類的區(qū)別類結(jié)構(gòu)不同點(diǎn)引用類型值類型可以被繼承不能被繼承可以有默認(rèn)構(gòu)造函數(shù)不可以有默認(rèn)構(gòu)造函數(shù)可以添加無參的構(gòu)造函數(shù)可以添加構(gòu)造函數(shù),但它們必須帶參數(shù)創(chuàng)建對象必須使用new創(chuàng)建對象可以不用new類中可以給字段賦值結(jié)構(gòu)中給字段賦值是錯誤的相同點(diǎn)都可以包含字段、方法都可以實(shí)現(xiàn)接口值類型與引用類型"student1

=

{0},student2

=

{1}",

student1.Ag使用類版Student和結(jié)構(gòu)版Student實(shí)現(xiàn)下面操作static

void

Main(string[]

args)s{tatic

void

Main(string[]

args){//使用值類型//S使tr用uc引tS用tu類de型nt

student1=new

StructStudent();SStturduecntSt

tsutduednetnst1tu=dnenewt2

S=tnuedwenSt(t)r;uctStudent();

Ssttuuddeenntt1s.tAugden=t218=;new

Student();ssttuuddeenntt12.A=gsetu=d1e8n;t1;

ssttuuddeenntt22=.Asgteud=e2n0t;1;student2.Age

=

20;CCoonnssoolele.W.WrrititeeLLininee(("student1

=

{0},student2

=

{1}",

student1.Agee,,

ssttuuddeenntt22.A.Aggee));;}}舉例說明什么是類,什么是對象?類和對象3-1類可以生成對象,類是對象的抽象public

void

Show(){Console.WriteLine("學(xué)生姓名:{0},年齡:{1}",name,age);Console.ReadLine();}}類?和關(guān)對鍵象代碼回顧:public

class

Student{public

string

name;public

int

age;類和對象3-2成員變量也叫字段方法用類和對象修改示例5演示示例6:使用類封裝學(xué)生信息類和對象3-3static

void

Main(string[]

args){Student

student

=

new

Student();Console.WriteLine("請輸入姓名:");student.name

=

Console.ReadLine();Console.WriteLine("請輸入年齡:");student.age

=int.Parse(Console.ReadLine());student.Show();}對象實(shí)例化對象調(diào)用方法給字段賦值操作Student類的字段和方法類和對類象對象對象是人們要進(jìn)行研究的任何事物顏色:灰色排量:3.0剎車產(chǎn)地:德國行駛名字:保時捷行為狀態(tài)狀態(tài)行為名字:法拉利行駛產(chǎn)地:意大利剎車排量:4.0顏色:紅色有各自不同的狀態(tài)類和對象小汽車狀態(tài)行為名字:保時捷行駛產(chǎn)地:德國剎車排量:3.0顏色:灰色類的實(shí)例化,是由類具體化對象類產(chǎn)地車體顏色行駛剎車…歸納一組相似對象的共性對象屬性方法類描述一組相似對象的共性類和對象的應(yīng)用類和對象的簡單應(yīng)用//…Carferrari

= New

Car();類對象實(shí)例化對象ferrari.Run();

調(diào)用方法//…public

class

Student{int

age

=

26;//姓名private

string

name;public

string

Name{get

{

return

name;

}set

{

name

=

value;

}}//問候public

void

SayHi(){…}}類和類的成員類的成員字段屬性方法…類名自定義一個類回顧:使用過的自定義類DBHelperclass

DBHelper{//數(shù)據(jù)庫連接字符串privatestatic

string

connString

=

"

";public//數(shù)據(jù)庫連接Connection

對象static

SqlConnection

connection

=new

SqlConnection(connString);}訪問修飾符私有公有公有成員和私有成員class

student{private

string

name;//姓名

public

int

age;//年齡public

string

idNumber;//身份證號}…static

void

Main(string[]

args){student

myStudent

=

new

student();myS="張三";私有成員公有成員實(shí)例化一個對象myStudent.age

=

20;}可以訪問演示示例1:訪問修飾符

無法訪問編譯錯誤zhang.Age=20;zhang.Hobby="唱歌歌";一種特別的方法班級來了新學(xué)員添加學(xué)員對象學(xué)員類實(shí)例化對象、設(shè)置屬性初始屬性若太多,設(shè)置麻煩能否在實(shí)例化時設(shè)置屬性?public

Student(string

name,

int

age,

string

hobby){this.Name=name;thSitsu.Adegnet=zhaagneg;

=new

Student();thzihsa.Hnogb.Nbaym=eh=ob"張by靚;靚";}Student

zhang=new

Student("張靚靚",20,"唱歌歌");一次設(shè)置完成類中加入這個方法添加的方法叫做構(gòu)造函數(shù)構(gòu)造函數(shù)是類中的一種特殊的方法構(gòu)造函數(shù)名與類名相同,不返回任何值可初始化成員變量class

Student{public

Student(string

name,

int

age,

string

hobby){this.Name

=

name;this.Age

=

age;this.Hobby

=

hobby;}}初始化成員變量this

關(guān)鍵字引用類的當(dāng)前實(shí)例將參數(shù)的值,分別賦給當(dāng)前實(shí)例的屬性使用構(gòu)造函數(shù)new

關(guān)鍵字可以實(shí)例化一個新的對象指定對某個帶參數(shù)的構(gòu)造函數(shù)每次創(chuàng)建類的實(shí)例都會調(diào)用此方法Student

zhang=new

Student("張靚靚",20,"唱歌歌");實(shí)例化對象調(diào)用構(gòu)造函數(shù)使用new

關(guān)鍵字Student

scofield

=

new

Student();Student

zhang=new

Student("張靚靚",20,"唱歌歌");實(shí)例化一個對象實(shí)例化一個新對象public

Student()

{

}public

Student(string

name,

int

age,

string

hobby){

=

name;this.age

=

age;this.hobby

=

hobby;構(gòu)造函數(shù)的重載構(gòu)造函數(shù)也可以重載}Student

scofield

=

new

Student();Student

zhang= new

Student("張靚靚",20,"唱歌歌");方法名相同,參數(shù)不同生活中的訪問級別什么是訪問級別?C#

中的訪問修飾符private某些敏感字段只希望在類內(nèi)部使用怎么辦?public class

Employee{public

double

pay

=

3000;…public

void

ShowPay(){Console.WriteLine("您的工資等級是:{0}" ,

payLevel);Console.ReadLine();}…}不被其它類使用private

double pay

=

3000;演示示例1:訪問學(xué)生信息私有成員公有成員示例1代碼分析關(guān)鍵代碼回顧:public

class

Student{//姓名private

string

_name="王麗麗";……}定義成private的字段,其他類訪問不到class

Program{static

void

Main(string[]

args){Student

stu

=

new

Student(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論