程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#基礎—關於類

C#基礎—關於類

編輯:關於C語言
類實際上是創建對象的模板,每個對象都包含數據,並提供了處理和訪問數據的方法。類定義了每個對象可以包含什麼數據和功能,但類自己不能包含數據。比如一個類代表一個人,它就可以定義所以人相關的信息(身高、年齡、體重等)。使用時,事例化對象表示某一個人。
類的成員
可以分為兩大類類本身所聲明的以及從基類中繼承而來的
類的成員有以下類型
􀁺 成員常量,代表與類相關聯的常量值
􀁺 域,即類中的變量
􀁺 成員方法,復雜執行類中的計算和其它操作
􀁺 屬性,用於定義類中的值並對它們進行讀寫
􀁺 事件,用於說明發生了什麼事情
􀁺 索引,指示器允許像使用數組那樣為類添加路徑列表
􀁺 操作符,定義類中特有的操作
􀁺 構造函數和析構函數,分別用於對類的實例進行初始化

new 僅允許在嵌套類聲明時使用表明類中隱藏了由基類中繼承而來的
與基類中同名的成員
public 表示不限制對該類的訪問 protected 表示只能從所在類和所在類派生的子類進行訪問 internal 只有其所在類才能訪問 private 只有對包.Net 中的應用程序或庫才能訪問 abstract 抽象類不允許建立類的實例 sealed 密封類不允許被繼承 virtual 方法可以被其他派生類重寫 override 方法重寫繼承的方法或抽象的方法 extern 方法在外部被另一種語言執行 使用internal 修飾符的類的成員是一種特殊的成員這種成員對於同一包中的應用
程序或庫是透明的而在包.Net 之外是禁止訪問的
使用下面的例子說明一下類的成員的訪問修飾符的用法
程序清單10-1
using System;
class Vehicle//定義汽車類
{
public int wheels; //公有成員輪子個數
protected float weight; //保護成員重量
public void F(){
wheels = 4;//正確允許訪問自身成員
weight = 10; //正確允許訪問自身成員
}
};
class train //定義火車類
{
public int num; //公有成員車廂數目
private int passengers; //私有成員乘客數
private float weight; //私有成員重量
public void F(){
num = 5; //正確允許訪問自身成員
weight = 100; //正確允許訪問自身成員
Vehicle v1 = new Vehicle();
v1.wheels = 4; //正確允許訪問v1 的公有成員
//v1.weight = 6; 錯誤不允許訪問v1 的保護成員可改為
weight = 6;
}
}
class Car:Vehicle //定義轎車類
{
int passengers; //私有成員乘客數
public void F(){
Vehicle v1 = new Vehicle();
V1.wheels = 4; //正確允許訪問v1 的公有成員
V1.weight = 6; //正確允許訪問v1 的保護成員
}
}
靜態成員和非靜態成員
若將類中的某個成員聲明為static ,該成員稱為靜態成員。類中的成員要麼是靜態,要麼是非靜態的。一般說來靜態成員是屬於類所有的。非靜態成員則屬於類的實例——對象。
using System;
class Test
{
int x;
static int y;
void F() {
x = 1; // 正確,等價於this.x = 1
y = 1; // 正確,等價於Test.y = 1
}
static void G() {
x = 1; // 錯誤不能訪問 this.x
y = 1; // 正確,等價於Test.y = 1
}
static void Main() {
Test t = new Test();
t.x = 1; // 正確
t.y = 1; // 錯誤不能在類的實例中訪問靜態成員
Test.x = 1; // 錯誤不能按類訪問非靜態成員
Test.y = 1; // 正確
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved