在 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
广告