要點:
1、結構概述
2、結構的使用
一 為什么需要結構
問題:
System.Drawing.Color有很多顏色值,它是一個枚舉嗎?
正常人眼可分辨的顏色種類可達幾十萬種以上
Color提供使用RGB值返回顏色的方法
FromArgb()
System.Drawing.Color是一個結構
1 結構定義
結構中有屬性,也可以有方法。
結構是一種值的類型,通常用來封裝一組相關的變量,結構中可以包括構造函數、常量、字段、方法、屬性、運算符、事件和嵌套類型等,結構修飾符使用 struct。
public struct Rect //定義一個矩形結構
{
public double width; //矩形的寬
public double height; //矩形的高
public double Area() //矩形面積
{ return width * height;}
}
訪問修飾符 struct 結構名
{
定義結構成員
}
public struct StructStudent
{
public string Name;
public int Age;
public string Hobby;
public int Popularity;
public void SayHi()
{
// ….
}
}
2 結構的使用1
結構實際是將多個相關的變量包裝成為一個整體使用。在結構體中的變量,可以是相同、部分相同,或完全不同的數據類型,結構通常用于較小的數據類型,對于較大和復雜的數據類型建議使用類定義。
示例:
//…
StructStudent myStu;
myStu.Age = 20;
myStu.Gender = Genders.Female;
myStu.Hobby = "唱歌歌";
myStu.Name = "張靚靚";
myStu.Popularity = 100;
myStu.SayHi();
//…
3 結構使用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 類圖
類圖描述類的結構
5 通用的類圖
6 理解結構與類的區別
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);
}
二 類和對象
問題:
舉例說明什么是類,什么是對象?
類可以生成對象,類是對象的抽象。
![在這里插入代碼片](https://i-blog.csdnimg.cn/direct/9dedf98ce7604e5eab908ae159f05aca.png)
操作Student類的字段和方法
三 對象
對象是人們要進行研究的任何事物
1 類和對象
類描述一組相似對象的共性。
2 類和對象的應用
類和對象的簡單應用
示例:
3 類和類的成員
4 自定義一個類
回顧:使用過的自定義類DBHelper。
5 公有成員和私有成員
6 一種特別的方法
四 構造函數
是類中的一種特殊的方法
構造函數名與類名相同,不返回任何值
可初始化成員變量
1 使用構造函數
每次創建類的實例都會調用此方法
2 構造函數的重載
該文章在 2024/10/9 12:30:18 編輯過