要點(diǎn):
1、結(jié)構(gòu)概述
2、結(jié)構(gòu)的使用
一 為什么需要結(jié)構(gòu)
問題:
System.Drawing.Color有很多顏色值,它是一個(gè)枚舉嗎?
![](/files/attmgn/2024/10/admin20241009123000055_0.jpg)
正常人眼可分辨的顏色種類可達(dá)幾十萬(wàn)種以上
Color提供使用RGB值返回顏色的方法
FromArgb()
System.Drawing.Color是一個(gè)結(jié)構(gòu)
1 結(jié)構(gòu)定義
結(jié)構(gòu)中有屬性,也可以有方法。
結(jié)構(gòu)是一種值的類型,通常用來(lái)封裝一組相關(guān)的變量,結(jié)構(gòu)中可以包括構(gòu)造函數(shù)、常量、字段、方法、屬性、運(yùn)算符、事件和嵌套類型等,結(jié)構(gòu)修飾符使用 struct。
public struct Rect //定義一個(gè)矩形結(jié)構(gòu)
{
public double width; //矩形的寬
public double height; //矩形的高
public double Area() //矩形面積
{ return width * height;}
}
訪問修飾符 struct 結(jié)構(gòu)名
{
定義結(jié)構(gòu)成員
}
public struct StructStudent
{
public string Name;
public int Age;
public string Hobby;
public int Popularity;
public void SayHi()
{
// ….
}
}
![](/files/attmgn/2024/10/admin20241009123000268_1.jpg)
2 結(jié)構(gòu)的使用1
結(jié)構(gòu)實(shí)際是將多個(gè)相關(guān)的變量包裝成為一個(gè)整體使用。在結(jié)構(gòu)體中的變量,可以是相同、部分相同,或完全不同的數(shù)據(jù)類型,結(jié)構(gòu)通常用于較小的數(shù)據(jù)類型,對(duì)于較大和復(fù)雜的數(shù)據(jù)類型建議使用類定義。
示例:
//…
StructStudent myStu;
myStu.Age = 20;
myStu.Gender = Genders.Female;
myStu.Hobby = "唱歌歌";
myStu.Name = "張靚靚";
myStu.Popularity = 100;
myStu.SayHi();
//…
![](/files/attmgn/2024/10/admin20241009123000415_2.jpg)
3 結(jié)構(gòu)使用2-2
示例:
struct StructStudent
{
//…
public StructStudent(string name, Genders gender, int age,
string hobby, int popularity)
{
this.Name = name;
this.Gender = gender;
//…
}
}
// …
StructStudent myStu =
new StructStudent("張靚靚", Genders.Female, 20, "唱歌歌", 100);
myStu.SayHi();
//…
4 類圖
類圖描述類的結(jié)構(gòu)
![](/files/attmgn/2024/10/admin20241009123000484_3.jpg)
5 通用的類圖
![](/files/attmgn/2024/10/admin20241009123000582_4.jpg)
6 理解結(jié)構(gòu)與類的區(qū)別
![](/files/attmgn/2024/10/admin20241009123000723_5.jpg)
7 值類型和引用類型
示例
static void Main(string[] args)
{
//使用值類型
StructStudent student1 = new StructStudent();
StructStudent student2 = new StructStudent();
student1.Age = 18;
student2 = student1;
student2.Age = 20;
Console.WriteLine("student1 = {0},student2 = {1}", student1.Age,
student2.Age);
}
static void Main(string[] args)
{
//使用引用類型
Student student1 = new Student();
Student student2 = new Student();
student1.Age = 18;
student2 = student1;
student2.Age = 20;
Console.WriteLine("student1 = {0},student2 = {1}", student1.Age,
student2.Age);
}
![](/files/attmgn/2024/10/admin20241009123000797_6.jpg)
二 類和對(duì)象
問題:
舉例說明什么是類,什么是對(duì)象?
![](/files/attmgn/2024/10/admin20241009123000966_7.jpg)
類可以生成對(duì)象,類是對(duì)象的抽象。
![在這里插入代碼片](https://i-blog.csdnimg.cn/direct/9dedf98ce7604e5eab908ae159f05aca.png)
![](/files/attmgn/2024/10/admin20241009123001059_8.jpg)
操作Student類的字段和方法
![](/files/attmgn/2024/10/admin20241009123001109_9.jpg)
三 對(duì)象
對(duì)象是人們要進(jìn)行研究的任何事物
![](/files/attmgn/2024/10/admin20241009123001174_10.jpg)
1 類和對(duì)象
類描述一組相似對(duì)象的共性。
![](/files/attmgn/2024/10/admin20241009123001359_11.jpg)
2 類和對(duì)象的應(yīng)用
類和對(duì)象的簡(jiǎn)單應(yīng)用
示例:
![](/files/attmgn/2024/10/admin20241009123001547_12.jpg)
3 類和類的成員
![](/files/attmgn/2024/10/admin20241009123001664_13.jpg)
4 自定義一個(gè)類
回顧:使用過的自定義類DBHelper。
![](/files/attmgn/2024/10/admin20241009123001789_14.jpg)
5 公有成員和私有成員
![](/files/attmgn/2024/10/admin20241009123001943_15.jpg)
6 一種特別的方法
![](/files/attmgn/2024/10/admin20241009123002101_16.jpg)
四 構(gòu)造函數(shù)
是類中的一種特殊的方法
構(gòu)造函數(shù)名與類名相同,不返回任何值
可初始化成員變量
![](/files/attmgn/2024/10/admin20241009123002272_17.jpg)
1 使用構(gòu)造函數(shù)
每次創(chuàng)建類的實(shí)例都會(huì)調(diào)用此方法
![](/files/attmgn/2024/10/admin20241009123002412_18.jpg)
2 構(gòu)造函數(shù)的重載
![](/files/attmgn/2024/10/admin20241009123002551_19.jpg)
該文章在 2024/10/9 12:30:18 編輯過