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; // 一个盒子的长度 private double breadth; // 一个盒子的宽度 private double height; // 一个箱子的高度 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(); // 声明类型为 Box 的 Box1 Box Box2 = new Box(); double volume; // 声明类型为 Box 的 Box2 // Box1 规格 Box1.setLength(8.0); Box1.setBreadth(9.0); Box1.setHeight(7.0); // Box2规格 Box2.setLength(18.0); Box2.setBreadth(20.0); Box2.setHeight(17.0); // Box 1 的体积 volume = Box1.getVolume(); Console.WriteLine("Volume of Box1 : {0}" ,volume); // Box 2 的体积 volume = Box2.getVolume(); Console.WriteLine("Volume of Box2 : {0}", volume); Console.ReadKey(); } } }
输出结果
Volume of Box1 : 504 Volume of Box2 : 6120
成员变量,即类成员是对象的属性(从设计的角度来看),它们保持私有以实现封装。这些变量只能使用公共成员函数访问。
长度和宽度下面是成员变量,因为将为Rectangle类的每个新实例创建此变量的新实例。
示例
using System; namespace RectangleApplication { class Rectangle { //成员变量 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()); } }//结束类 class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.Acceptdetails(); r.Display(); Console.ReadLine(); } } }
输出结果
Length: 10 Width: 14 Area: 140