在 C# 中,類方法和類成員之間的區別是什麼?
成員函式,即類的函式方法,是在類定義中與任何其他變數類似地擁有其定義或其原型的函式。它操作其所屬類的任何物件,並可以訪問該物件中該類所有成員。
以下示例 -
public void setLength( double len ) {
length = len;
}
public void setBreadth( double bre ) {
breadth = bre;
}以下示例展示瞭如何在 C# 中訪問類成員函式 -
示例
using System;
namespace BoxApplication {
class Box {
private double length; // Length of a box
private double breadth; // Breadth of a box
private double height; // Height of a box
public void setLength( double len ) {
length = len;
}
public void setBreadth( double bre ) {
breadth = bre;
}
public void setHeight( double hei ) {
height = hei;
}
public double getVolume() {
return length * breadth * height;
}
}
class Boxtester {
static void Main(string[] args) {
Box Box1 = new Box(); // Declare Box1 of type Box
Box Box2 = new Box();
double volume;
// Declare Box2 of type Box
// box 1 specification
Box1.setLength(8.0);
Box1.setBreadth(9.0);
Box1.setHeight(7.0);
// box 2 specification
Box2.setLength(18.0);
Box2.setBreadth(20.0);
Box2.setHeight(17.0);
// volume of box 1
volume = Box1.getVolume();
Console.WriteLine("Volume of Box1 : {0}" ,volume);
// volume of box 2
volume = Box2.getVolume();
Console.WriteLine("Volume of Box2 : {0}", volume);
Console.ReadKey();
}
}
}輸出
Volume of Box1 : 504 Volume of Box2 : 6120
成員變數,即類成員是物件的屬性(從設計角度考慮),它們處於私有狀態以實施封裝。這些變數只能使用公有成員函式進行訪問。
下面的 length 和 width 是成員變數,因為對於 Rectangle 類的每個新例項,都將建立一個這個變數的新例項。
示例
using System;
namespace RectangleApplication {
class Rectangle {
//member variables
private double length;
private double width;
public void Acceptdetails() {
length = 10;
width = 14;
}
public double GetArea() {
return length * width;
}
public void Display() {
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}
}//end class Rectangle
class ExecuteRectangle {
static void Main(string[] args) {
Rectangle r = new Rectangle();
r.Acceptdetails();
r.Display();
Console.ReadLine();
}
}
}輸出
Length: 10 Width: 14 Area: 140
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP