從特殊到一般-C#中的類

文章目錄

  • 類的概念
  • 類的定義
    • 實例
    • 例子分析
  • 類的成員
    • 數據成員
    • 屬性成員
    • 方法成員
    • 靜態成員

  • 博主寫作不容易,孩子需要您鼓勵
  • 萬水千山總是情 , 先點個贊行不行

類的概念

在日常生活中,類是對具有相同特性的一類是物的抽象。比如水果是一個類,它是對蘋果、梨所有具有水果特性的食物的抽象,而這個類中所包含的具體的某一個蘋果,某一個梨等個體就是對象。
不同的類具有不同的特征。

如何快速理解類與對象呢?一般大家會教你類是什么,然后對象是類的實例。我今天反過來給大家解釋一下。

有一天我們想吃水果,來到菜市場,菜市場就是我們的程序包含很多內容;之后我們來到水果攤前,水果攤就相當于水果這個類;告訴老板我要一個石榴,石榴就相當與對象。我們發現這就是我們日常生活中的思維方式。那么將生活運用到工作當中,運用到程序設計當中,就是我們所說的類與對象。

也就是說我們把具有相同屬性或者說類似的內容,歸為一類。我們對這一類進行一個描述(抽象),之后我們在使用這一類里的東西就有了一個索引(水果)。我們將一個類的實例稱為類的對象(水果里邊的石榴)。

還不懂私信我,主頁有qq

類的定義

類的定義使用 class關鍵字

  • 語法格式如下:
  • [訪問修飾符] class 類名
    {//類的主體
    }
    

    其中,訪問修飾符可以是 public、protected、internal、private和protected internal等。class是聲明類的關鍵詞,類名是自己定義的類的名稱,大括號中聲明的是類的成員。其中“訪問修飾符”可以省略。

  • 對類的訪問控制權限需要用訪問修飾符來定義:
  • 運算符說明
    public對類的訪問不受限制,就像餐廳,誰都可以進去吃飯
    protected對類的訪問僅限于包含類或從包含類派生的類,就像員工餐廳,只有公司員工與子公司員工才能進去吃飯
    private訪問僅限于包含類,就像私人會所,不對外開放
    internal訪問僅限于當前項目,就像其他公司派到公司工作的也可以去員工餐廳吃飯。
    protected internal同時擁有protected、internal的訪問權限。

    類名一般使用帕斯卡命名法,即首字母大寫,通常命名類采用完整的英文單詞

    實例

    定義電話類,類中定義兩個類成員,來表示電話的品牌和機型。
    新建一個控制臺程序,主程序修改如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;namespace test
    {class PhoneClass{public string brand;public string type;}class Program{static void Main(string[] args){PhoneClass Phone = new PhoneClass();Phone.brand = "huawei";Phone.type = "5G";Console.WriteLine("手機品牌是:" + Phone.brand);Console.WriteLine("手機種類是:" + Phone.type);Console.ReadKey();}}
    }
    

    運行結果:
    在這里插入圖片描述

    例子分析

    在這個程序中,代碼比較簡單。我么選擇創建控制臺應用項目程序,然后向程序中加入了一個簡單的電話類。并生成了一個電話對象,并用控制臺輸出它。

    類的成員

    組成類的元素稱為類的成員,類的成員主要包括描述狀態數據成員和描述操作函數成員。函數成員提供了操作類中數據的某些功能,包括屬性、方法、索引器、事件、運算符、構造函數和析構函數等。

    數據成員

    類的數據成員包括字段、常量和事件。字段就是在類中定義的變量,用來存儲描述類的特征的值。

  • 成員變量的定義語法為:
  • [訪問修飾符] 數據類型 成員變量名
    

    其中在聲明成員變量時使用不同的訪問修飾符來定義他們的訪問級別,可以是public、private、protected、internal等,其含義和類的訪問修飾符類似。

    屬性成員

    屬性是字段的一種自然拓展,是一個與類或對象相關聯的命名。與字段不同的是,屬性不表示儲存位置,屬性擁有訪問器,訪問器定義了讀取或者寫入屬性值時必須執行的代碼。通過get{}訪問器和set{}訪問器來實現對類中私有字段的讀寫操作。為了類的封裝性,一般把描述類的特征的字段定義為private,把屬性設為public來操作私有字段。

  • 定義屬性成員的語法格式如下:
  • [訪問修飾符] 數據類型 屬性名
    {get{}  //get訪問器set{}  //set訪問器
    }
    

    其中屬性的訪問修飾符是用來指定方法的訪問級別,主要的訪問修飾符和數據成員的訪問修飾符一樣。屬性方法的命名通常使用帕斯卡命名法,即首字母大寫。
    這里不做解答,可以看我以前寫過的的博文,理解訪問器。鏈接如下:
    set()與get()詳細解答(C#)https://blog.csdn.net/cashmood/article/details/100559325

    方法成員

    方法是用來描述對象的行為的,對類的書據成員的操作都封裝在類的方法中。方法的主要功能是操作數據,沒有方法的程序是沒有意義的,就像電話如果不具備打電話功能,那么他就不叫電話了。

  • 方法的聲明格式如下:
  • [訪問修飾符] 返回值數據類型 方法名(參數列表)
    {//方法主體
    }
    
    1. 方法的訪問修飾符是用來指定方法的訪問級別的
    2. 方法的返回值類型可以是任意一種C#類型,如果沒有返回值則為void
    3. 方法的命名建議采用名詞動詞結合的組合表示
    4. 方法可以有參數,也可以沒有參數
    5. 方法要具有完成一定功能的完整代碼

    靜態成員

    靜態成員和類是相關聯的,不依賴于特定的對象,可以作為類中共有的成員。如果類的某個方法成員聲明時使用了static關鍵字,該成員就變成了靜態成員。在類中可以定義為靜態成員的有字段、方法、屬性、運算符、事件和構造函數等,但不能是索引器、析構函數。靜態成員可以直接使用,不必創建對象,可通過類名.靜態成員方式使用靜態成員。靜態成員為類的所有對象所共享,非靜態成員也叫做實例成員,實例成員屬于具體的對象。

    • 博主簡介:
    • 工業自動化上位機軟件工程師、機器視覺算法工程師、運動控制算法工程師。目前從業于智能制造自動化行業。 博主郵箱:2296776525@qq.com
    • 幫忙點個贊吧。哈哈。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254312.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254312.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254312.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Chapter 1 First Sight——30

The girl sitting there giggled. Id noticed that his eyes were black — coal black. 那個坐在那里的女孩笑著。我注意到她的眼睛是很色的--炭黑色的。 Mr. Banner signed my slip and handed me a book with no nonsense about introductions. Banner 先生簽了我的名字然后…

GPU 與CPU的作用協調,工作流程、GPU整合到CPU得好處

在不少人的心目中,顯卡最大的用途可能就只有兩點——玩游戲、看電影,除此之外,GPU并沒有其他的作用了。但是隨著微軟IE9的正式發布,不少人突然發現,微軟一直提到一個名詞:GPU硬件加速,從而也讓不…

[luoguP1029] 最大公約數和最小公倍數問題(數論)

傳送門 一.暴力枚舉&#xff08;加了點優化&#xff09; #include <cstdio>int x, y, ans;inline int gcd(int x, int y) {return !y ? x : gcd(y, x % y); }inline int lcm(int x, int y) {return x / gcd(x, y) * y; }int main() {int i, j;scanf("%d %d", …

CPU和GPU擅長和不擅長的方面

從它們執行運算的速度與效率的方面來探討這個論題。CPU和GPU都是具有運算能力的芯片&#xff0c; CPU更像“通才”——指令運算(執行)為重數值運算&#xff0c; GPU更像“專才”——圖形類數值計算為核心。在不同類型的運算方面的速度也就決定了它們的能力——“擅長和不擅長”…

一些IO流的知識

IO流&#xff1a; 輸入流&#xff1a;輸出流&#xff1a; 字節流&#xff1a;字符流&#xff1a;為了處理文字數據方便而出現的對象。 其實這些對象的內部使用的還是字節流(因為文字最終也是字節數據) 只不過&#xff0c;通過字節流讀取了相對應的字節數&#xff0c;沒有對這些…

為人示弱,做事留余 | 摸魚系列

我很喜歡結交有很好的自然觀察能力的朋友&#xff0c;這是種對周圍環境和文化的洞察力。 一方面的原因是優秀的領導者、企業家和投資人能利用這種能力發現新市場&#xff0c;預測新潮流&#xff0c;設計出有效的市場營銷活動&#xff0c;并找到需要重點關注的人群。 另一方面&a…

從一般到特殊-C#中的對象

文章目錄對象的概念對象的創建和使用匿名類型和初始化器構造函數和析構函數構造函數析構函數范例參數傳遞博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 對象的概念 類是具有相同特征一類事物的抽象&#xff0c;而對象是類的實例。 類和對象…

如何用面對對象來做一個躁動的小球?

今天來看看怎樣用面對對象來做一個躁動的小球。 首先我們先創建一個對象&#xff0c;他的屬性包含小球的隨機水平、縱向坐標&#xff0c;隨機寬、高&#xff0c;隨機顏色&#xff0c;以及創建小球的方法。 html: <div id"wrap"></div> js:function Boll(…

關于MyEclipse項目的名字的修改對項目導入導出的影響

不要修改項目名字&#xff0c;不管是在MyEclipse中(.project文件里面的額name會變)還是在G:\MyEclipseData目錄下(.project文件里面的額name不會變)&#xff0c;否則導入的時候不能訪問&#xff0c;會出現400的錯誤&#xff0c;而訪問的網址必須是以前沒改名前的那個名字才可以…

Gcc詳解以及靜態庫、動態庫生成

[轉] Gcc詳解以及靜態庫、動態庫生成 http://www.360doc.com/content/10/0619/14/1795182_33985297.shtml 1。gcc包含的c/c編譯器 gcc,cc,c,g,gcc和cc是一樣的&#xff0c;c和g是一樣的&#xff0c;(沒有看太明白前面這半句是什 么意思:))一般c程序就用gcc編譯&#xff0c;c程序…

改變世界的七大NLP技術,你了解多少?(上)

什么是NLP&#xff1f; 自然語言處理&#xff08;NLP&#xff09; 是計算機科學&#xff0c;人工智能和語言學的交叉領域。目標是讓計算機處理或“理解”自然語言&#xff0c;以執行語言翻譯和問題回答等任務。 隨著語音接口和聊天機器人的興起&#xff0c;NLP正在成為信息時代…

MINI類-結構體

文章目錄結構體的定義和使用實例類和結構體的關系博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 結構體與類相似&#xff0c;通常用來封裝小型的相關變量組&#xff0c;例如&#xff0c;學生的學號、姓名、性別、年齡等。結構是一種值類型&am…

由.def文件生成lib文件[轉]

最近在學習curl庫時&#xff0c;碰到一個問題&#xff0c;從官網上下載了一個lib版的&#xff0c;卻發現只有.dll&#xff0c;沒有lib文件&#xff0c;感覺很奇怪&#xff0c;google了之后才知道&#xff0c;原來庫作者的用意是讓用戶自己生成lib文件&#xff0c;下載到的lib文…

union 和 union all 有什么不同?

假設我們有一個表 Student&#xff0c; 包括以下字段與數據&#xff1a;drop table student;create table student( idint primary key,name nvarchar2(50) not null,score number not null);insert into student values(1,Aaron,78);insert into student values(2,Bill,76);in…

暴風影音硬件加速播放高清影片

近年來&#xff0c;高清視頻因為畫面清晰、視覺效果好&#xff0c;越來越受到眾多電腦用戶的厚愛。暴風影音3.6版本在高清的支持上&#xff0c;筆者必須得說&#xff0c;是暴風影音在高清方面的一個大跨越&#xff0c;在這個技術上&#xff0c;暴風把KMP等播放器都遠遠的拋在后…

SSL雙向認證的實現

2019獨角獸企業重金招聘Python工程師標準>>> 環境 系統&#xff1a;archlinux/centOS nginx&#xff1a;nginx/1.12.2 瀏覽器&#xff1a;火狐firefox 前提&#xff1a;1.安裝nginx。    2.安裝openssl。 生成證書 新建工作目錄 首先建立一個工作目錄&#x…

partial 分部類-龐大類的瘦身計劃

文章目錄使用情況語法博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 一般來說&#xff0c;一個類、結構或者接口位于一個源文件中&#xff0c;但是某些情況&#xff0c;比如大型項目、特殊部署時&#xff0c;可能需要把一個類、結構或者接口放…

scroll-view——小程序橫向滾動

這是官方給的布局代碼 <view class"section"><view class"section__title">vertical scroll</view><scroll-view scroll-y style"height: 200px;" bindscrolltoupper"upper" bindscrolltolower"lower"…

二期設計

電子鎖管理 設備管理 設備管理 1 信息編輯;回收電子鎖發放 電子鎖初始化&#xff0c;發放 4 記錄車輛在發車時使用的電子鎖電子鎖開鎖聯系人管理 電子鎖開鎖聯系人管理 1 根據訂單路線中的投點&#xff0c;設置每個投遞點的開鎖聯系人&#xff0c;通過短信的方式下發給你開…

音視頻同步系列文章之------時間戳與時間尺度(time scale)

根據一些文章我自己推敲了一下幾個概念如下&#xff1a; 采樣頻率是每秒鐘抽取聲波幅度樣本的次數。8000 幀率是每秒顯示幀數。 20 時間戳單位&#xff1a;時間戳計算的單位不為秒之類的單位&#xff0c;而是由采樣頻率所代替的單位&#xff0c;這…