網站首頁 編程語言 正文
在對類訪問使用時,常用到的有訪問類的成員、方法。
實例化
在對類進行訪問時,需要將類進行實例化。并產生一個對象。可以使用關鍵字new來實現。
由于類是引用類型,創建類的實例后,在棧分配對象的引用地址,指向堆內存,存儲對象的值。
雖然對象的實例字段是值類型,也是在堆上創建存儲空間存儲的,棧上對象指向堆存儲的變量。
類名 對象名 ?= new 類名();
類名。指類的名字,比如書本、汽車等
對象名。指實例化類后的對象名字,比如實例化汽車類后,創建一個具體的對象。可以是奔馳汽車,寶馬汽車等。
類成員
訪問
在對類進行實例化后,調用對象的名
對象名.類的成員
//創建Book類
class Book
{
public int Id{get;set;}
public string Name{get;set;}
public double Price{get;set;}
public static string Author{get;set;}//創建類的靜態成員
public void PrintMsg()//不返回數值,使用void
{
Console.WriteLine("圖書編號:"+Id);
Console.WriteLine("圖書名稱:"+Name);
Console.WriteLine("圖書價格:"+Price);
}
}
//在項目主程序調用Book類。
class Program
{
static void Main(string[] args)
{
Book.Author = "SomeBody" //訪問類靜態成員時,不需要實例化對象,可直接訪問
Book bk = new Book();//Book屬于類,bk屬于對象名
//為bk對象的屬性賦值
bk.Id = 1;
bk.Name = "論演員的自我修養";
bk.Price = 6.66;
bk.PrinfMsg();
}
}
賦值
為對象屬性賦值時,可通過類內部的構造方法,如果類內部沒有構造方法,可通過直接賦值。
直接賦值型
根據上面的例子,當類中沒有構造方法,并且字段修飾符為public,可通過實例化對象訪問類的成員,并對其賦值。
代碼案例參考類成員訪問。
構造方法型
在使用構造方法前,先簡單介紹下構造方法。
語法規則
訪問修飾符 ?類名 (參數列表)
{
? ? 語句塊;
}
沒有返回值,可以帶參數,也可不帶參數
聲明類對象時,系統自動調用構造函數,在構造函數中不要對類的實例進行初始化以外的事情,也不能被顯式地調用。
構造函數可以重載, 從而提供初始化類對象的不同方法
靜態構造函數,用static修飾,用于初始化靜態變量,一個類只允有一個構造函數
構造函數可以使用public、protected、private修飾符,一般常用public,方便對類成員賦值或重載等
如果將訪問修飾符設置成private類型的,則無法創建該類的對象。
構造方法的名稱必須是類名
class User
{
//創建構造函數,作為類的輸入項,用于內部方法的調用。
public User(string name,string password,string tel)
{
this.Name = name;
this.Password = password;
this.Tel = tel;
}
public string Name {get;set;}
public string Password{get;set;}
public string Tel{get;set;}
public void PrintMsg()
{
//this
Console.WriteLine("用戶名:"+this.Name);
Console.WriteLine("用戶名:"+this.Password);
Console.WriteLine("用戶名:"+this.Tel);
}
}
//在Main方法中實例化user類對象,并調用其方法
class Program
{
static void Main(string[] args)
{
//實例化user類,創建對象,根據類的構造函數,傳入三個參數。
User user = new User("小明",123,17726531990);
user.PrintMsg();
}
}
方法
指類中創建的方法,其實上面說的構造函數也是方法。
方法調用
實例化對象,然后直接調用方法,調用時需要注意方法是否有傳入參數和返回值。
//創建類
Class SumUtils
{
public int Sum(int a,int b)
{
return a + b;
}
public Sayhi()
{
Console.WriteLine("Hello World");
}
}
//實例化類,并調用相關方法。
class Program
{
static void Main(string[] args)
{
//實例化對象
SumUtils s = new SumUtils();
//調用求兩個整數和的方法
Console.WriteLine("兩個整數和為{0}",s.Sum(3,6));
//打招呼
s.Sayhi();
};
}
方法重載
在對方法調用時,需要注意方法重載。在C#中,可以在同一類定義多個方法名相同,參數列表(參數類型、參數個數)不同的方法,這種形式就是方法重載,調用此類方法時,系統會根據實際傳入參數,選擇與其匹配的方法執行。
//創建計算器類,完成求和
class Counter
{
//求兩個整數和
public int Sum(int a,int b)
{
return a+b;
}
//求階乘
pubic int Sum(int a)
{
int sum = 0;
for(int i=1;i<a;i++)
{
sum *= i;
}
}
}
//在Main方法中調用
class Program
{
static void Main(string[] args)
{
Counter c = new Counter();
Console.WriteLine("整數和為:"+c.Sum(3,5));
Console.WriteLine("階乘為:"+c.Sum(5));
}
}
原文鏈接:https://blog.csdn.net/yue008/article/details/125632271
相關推薦
- 2022-06-12 PostgreSQL數據庫的基本查詢操作_PostgreSQL
- 2023-02-09 Python如何提取html中文本到txt_python
- 2024-07-13 通過maven基于springboot項目構建腳手架archetype
- 2022-09-04 詳解Go語言中數組,切片和映射的使用_Golang
- 2022-10-07 Android調用系統圖庫獲取圖片的方法_Android
- 2022-08-08 Android實現頁面跳轉_Android
- 2022-11-27 關于HTTPS端口443的技術講解(什么是443端口)_服務器其它
- 2022-03-16 .net?6項目實現壓縮發布_實用技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支