C#學習7_面向對象:類、方法、修飾符

一、類


1class
? 1)定義類
?? ?訪問修飾符+class +類名{
?? ??? ?字段
?? ??? ?構造函數:特殊的方法(用于初始化對象)
?? ??? ?屬性
?? ??? ?方法...
?? ?}
eg:
public class Person
{
? ? // 字段
? ? private string name;
? ? private int age;
?
? ? // 構造函數
? ? public Person(string name, int age)
? ? {
? ? ? ? this.name = name;
? ? ? ? this.age = age;
? ? }
?
? ? // 屬性
? ? public string Name
? ? {
? ? ? ? get { return name; }
? ? ? ? set { name = value; }
? ? }
?
? ? public int Age
? ? {
? ? ? ? get { return age; }
? ? ? ? set { age = value; }
? ? }
?
? ? // 方法
? ? public void SayHello()
? ? {
? ? ? ? Console.WriteLine($"Hello, my name is {name} and I am {age} years old.");
? ? }
}
? 2)使用類
?? ?類名 對象名=new 類名([參數]);
eg:
// 創建對象
? ? ? ? Person person = new Person("Alice", 30);
?
? ? ? ? // 訪問屬性
? ? ? ? Console.WriteLine(person.Name); // 輸出: Alice
? ? ? ? Console.WriteLine(person.Age); ?// 輸出: 30
?
? ? ? ? // 調用方法
? ? ? ? person.SayHello(); // 輸出: Hello, my name is Alice and I am 30 years old.
?
? ? ? ? // 修改屬性
? ? ? ? person.Name = "Bob";
? ? ? ? person.Age = 25;
?
? ? ? ? // 再次調用方法
? ? ? ? person.SayHello(); // 輸出: Hello, my name is Bob and I am 25 years old.

2方法


? 1)定義方法

?? ?訪問修飾符+返回類型+方法名稱(參數列表){
?? ??? ?方法內容
?? ?}

? 2)調用方法
?? ?方法名稱(參數列表) ? ? ? ? ?
?? ?形參,實參
2) 訪問修飾符
一個人A為父類,他的兒子B,妻子C,私生子D(注:D不在他家里)

public:所有對象都可以訪問;?? ??? ?地球人都知道,全公開
private:對象本身在對象內部可以訪問;?? ?只有A知道(隱私?心事?)
protected:只有該類對象及其子類對象可以訪問?? ?A,B,D知道(A和他的所有兒子知道,妻子C不知道)
internal:同一個程序集的對象可以訪問;?? ??? ?A,B,C知道(A家里人都知道,私生子D不知道)
protected internal:訪問限于當前程序集或派生自包含類的類型。?? ??? ?A,B,C,D都知道,其它人不知道

二、繼承、封裝、多態
1.繼承:允許一個類繼承另一個類的字段和方法?? ?子類:父類
2.封裝:
?

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

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

相關文章

湖北理元理律師事務所:債務優化中的“生活保障”方法論

債務危機往往伴隨生活質量驟降,如何在還款與生存間找到平衡點,成為債務優化的核心挑戰。湖北理元理律師事務所基于多年實務經驗,提出“雙軌并行”策略:法律減負與生活保障同步推進。 債務優化的“溫度法則” 1.生存資金預留機制…

Jetpack Compose與Kotlin UI開發革命

Jetpack Compose + Kotlin:Android UI 開發的革命 簡介 Jetpack Compose 是 Google 推出的現代 Android UI 工具包,結合 Kotlin 語言,徹底改變了傳統 Android 開發的模式。過去,開發者依賴 XML 布局和命令式編程(如 findViewById 和手動更新視圖),導致代碼冗長且易出錯…

基于pyqt的上位機開發

目錄 安裝依賴 功能包含 運行結果 安裝依賴 pip install pyqt5 pyqtgraph pyserial 功能包含 自動檢測串口設備,波特率選擇/連接斷開控制,數據發送/接收基礎框架,實時繪圖區域(需配合數據解析) ""&q…

QT人工智能篇-opencv

第一章 認識opencv 1. 簡單概述 OpenCV是一個跨平臺的開源的計算機視覺庫,主要用于實時圖像處理和計算機視覺應用?。它提供了豐富的函數和算法,用于圖像和視頻的采集、處理、分析和顯示。OpenCV支持多種編程語言,包括C、Python、Java等&…

Python自學第5天:字符串相關操作

1.字符串運算符 作符描述字符串連接*重復輸出字符串[]通過索引獲取字符串中字符[ : ]截取字符串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個字符的。in成員運算符 - 如果字符串中包含給定的字符返回 Truenot in成員運算符 - 如果字符串中不包…

RabbitMq(尚硅谷)

RabbitMq 1.RabbitMq異步調用 2.work模型 3.Fanout交換機(廣播模式) 4.Diret交換機(直連) 5.Topic交換機(主題交換機,通過路由匹配) 6.Headers交換機(頭交換機) 6…

分庫分表后復雜查詢的應對之道:基于DTS實時性ES寬表構建技術實踐

1 問題域 業務發展的初期,我們的數據庫架構往往是單庫單表,外加讀寫分離來快速的支撐業務,隨著用戶量和訂單量的增加,數據庫的計算和存儲往往會成為我們系統的瓶頸,業界的實踐多數采用分而治之的思想:分庫…

CVE-2024-4577:Windows 編碼錯誤

CVE-2024-4577是一個 PHP-CGI 漏洞,就是其中一種情況:雖然有這個版本,但由于 PHP 經常被反向移植,因此無法可靠地使用。 這篇博文詳細介紹了如何研究 CVE-2024-4577 以及當前用于檢測它的方法。 CVE-2024-4577 CVE-2024-4577 是 Windows 版 PHP 安裝中的一個高危漏洞,會…

NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)

環境準備 檢查操作系統版本: 本方案使用 Ubuntu 22.04,并在 VMware 虛擬機中運行。通過以下命令檢查系統版本: lsb_release -a 如果未安裝 Ubuntu 22.04,請下載并安裝一個全新的系統。 更新系統軟件源: 更新軟件包列表…

DeepSeek Copilot idea插件推薦

🌌 DeepSeek Copilot for IntelliJ IDEA 讓 AI 成為你的編程副駕駛,極速生成單元測試 & 代碼注釋驅動開發! 🚀 簡介 DeepSeek Copilot 是一款為 IntelliJ IDEA 打造的 AI 編程助手插件,它能夠智能分析你的代碼邏輯…

QT中的JSON

1.JSON的兩種數據格式 JSON有兩種數據格式:JSON對象和JSON數組 JSON數組: JSON數組格式:[元素1,元素2,元素3,......元素n] JSON數組中的元素可以是同一類型,也可以使不同類型,可以嵌套JSON數組…

詳細剖析傳輸層協議(TCP和UDP)

詳細講解傳輸層的網絡協議,為什么TCP是可靠連接協議,憑什么能做到不丟包,有哪些機制保證可靠呢? TCP/UDP UDPTCP**三次握手和四次揮手****滑動窗口****擁塞控制**(socket套接字)**listen的第二個參數** UD…

數據可視化:藝術與科學的交匯點,如何讓數據“開口說話”?

數據可視化:藝術與科學的交匯點,如何讓數據“開口說話”? 數據可視化,是科技與藝術的結合,是讓冰冷的數字變得生動有趣的橋梁。它既是科學——講究準確性、邏輯性、數據處理的嚴謹性;又是藝術——強調美感…

解決使用lettuce連接Redis超時的問題(tcpUserTimeout 參數失效問題)

問題背景 lettuce 連接Redis的主從實例,當主節的主機異常下電重啟后,由于沒有發送RST 包,導致 lettuce 一直在復用之前的TCP鏈接,然后會出現連接超時的情況。一直出現io.lettuce.core.RedisCommandTimeoutException: Command tim…

如何使用python保存字典

在Python中,可以通過多種方式將字典(dict)保存到文件中,并能夠隨時讀取恢復。以下是幾種常見的方法: 1. 使用 json 模塊(推薦) 適用場景:需要人類可讀的文件格式,且數據不…

SQL 與 Python:日期維度表創建的不同選擇

文章目錄 一、日期維度表概述日期維度表結構 二、使用 SQL 創建日期維度表2.1 表結構設計2.2 數據插入2.3 SQL 創建方式的優勢與局限 三、使用 Python 創建日期維度表3.1 依賴庫引入3.2 代碼實現3.3 Python 創建方式的優勢與局限 四、應用場景與選擇建議4.1 應用場景4.2 選擇建…

如何用postman進行批量操作

業務場景: 有些時候,我們會需要批量的將SAP B1系統中的幾千條的數據刪除或者取消單據,這個時候,一條條去操作,指定是到猴年馬月了。SAP Business One本身提供了DTW這個工具,但是這個更新,可以操…

Mysql如何完成數據的增刪改查(詳解從0到1)

前言: Mysql可能是每個程序員的必修課,可以說是使用起來是沒有什么問題的,但是作為一名合格的程序猿,深入學習Mysql的內部工作原理是非常有必要的,主要是理解和學習Mysql的底層思想,希望在日后如遇到一些&…

單片機嵌入式按鍵庫

kw_btn庫說明 本庫主要滿足嵌入式按鍵需求,集成了常用的按鍵響應事件:高電平、低電平、上升沿、下降沿、單擊、雙擊、長按鍵事件。可以裸機運行,也可以配合實時操作系統運行。 本庫開源連接地址:連接 實現思路 本庫采用C語言進行…

Qt—鼠標移動事件的趣味小程序:會移動的按鈕

1.項目目標 本次根據Qt的鼠標移動事件實現一個趣味小程序:當鼠標移動到按鈕時,按鈕就會隨機出現在置,以至于根本點擊不到按鈕。????? 2.項目步驟 首先現在ui界面設計控件(也可以用代碼的方式創建,就不多說了) 第一個按鈕不需…