P24 什麼是類

2021-10-22 18:41:16 字數 2061 閱讀 4026

從本節開始深入學習物件導向程式設計。

講解了 c# 基本元素、基本語法

把類的成員過了一遍:字段、屬性、方法、事件

在前面其實已經講過了封裝、後面講繼承和多型

類是一種資料結構,它可以包含資料成員(常量和字段)、函式成員(方法、屬性、事件、索引器、運算子、例項建構函式、靜態建構函式和析構函式)以及巢狀型別。類型別支援繼承,繼承是一種機制,它使派生類可以對基類進行擴充套件和專用化。 —— 《c# 語言規範》

注:這是在描述類是什麼,講的是類的外延而不是類的內涵。

計算機領域的類有下面三個方面

類是一種「抽象」的資料結構。

這裡提到的 data structure 和演算法裡面的 data structure 略有不同。演算法裡面的資料結構更多是指集合(list、dictionary 等)資料型別。

namespace helloclass

}//1、類是一種資料結構

//2、類是一種自定義的引用型別

class student

//從現實世界學生抽象出來的屬性

public int id

public string name

//從現實世界學生抽象出來的行為

public void report()

student,my name is .");}}

}

類是一種引用型別,具體到每乙個類都是乙個自定義的型別:

可以用類去宣告變數

可以用類去建立例項(把類作為例項的模板)

這兩個示例也展現了類作為「資料型別」的一面。

反射的基礎:

type t = typeof(student);

object o = activator.createinstance(t, 1, "timothy");

student stu = o as student;

console.writeline(stu.name);

dynamic 程式設計:

type t = typeof(student);

dynamic stu = activator.createinstance(t, 1, "timothy");

console.writeline(stu.name);

程式中的類與哲學、數學中的類有相通的地方。

namespace helloclass

}//1、類是一種資料結構

//2、類是一種自定義的引用型別

class student

static student()//靜態構造器

//自定義構造器

public student(int id,string name)

//自定義析構器

~ student()

//從現實世界學生抽象出來的屬性

public int id

public string name

//從現實世界學生抽象出來的行為

public void report()

student,my name is .");}}

}

namespace helloclass

}//1、類是一種資料結構

//2、類是一種自定義的引用型別

class student

//自定義析構器

~ student()

//從現實世界學生抽象出來的屬性

public int id

public string name

//從現實世界學生抽象出來的行為

(P24)管道 管道的讀寫規則

當要寫入的資料量小於等於pipe buf,linux將保證寫入的原子性 原子性 假設a程序和b程序都要向管道寫入資料,a程序寫入的資料量小於等於pipe buf,則a程序寫入的資料是連續的,中間並不會插入b程序寫入的資料,man 7 pipe看pipe buf 否則多個程序往管道寫入資料,可能會出現...

什麼是基類,什麼是父類

基類就是父類,派生類就是子類 你可以理解為生活中的父子關係,也就是說兒子繼承了所有的父親的樣貌特徵,但是兒子也有父親所沒有的一些特點 專業點講,就是子類可以繼承並使用父類的屬性和方法,也可以有自己的屬性和方法!不知道這麼說你能理解不?這裡又要講到一些繼承的特性 繼承使用繼承是為了減少 的冗餘,增強 ...

什麼是基類,什麼是父類

基類就是父類,派生類就是子類 你可以理解為生活中的父子關係,也就是說兒子繼承了所有的父親的樣貌特徵,但是兒子也有父親所沒有的一些特點 專業點講,就是子類可以繼承並使用父類的屬性和方法,也可以有自己的屬性和方法!不知道這麼說你能理解不?這裡又要講到一些繼承的特性 繼承使用繼承是為了減少 的冗餘,增強 ...