小学生古诗词吟诵表演:C#中怎样区分方法和函数

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:25:04
我刚开始学习C#,但是方法、函数、属性等让我很迷糊,现在请教怎么区分以及他们在代码中都起到什么作用。

从OO来说,方法是操作对象的途径,属性则是对象本身的固有特性,而从语言实现来说,C#是通过函数来实现方法这个操作方法的.在类中每个public函数作为这个类的对象的一个方法存在.而每个类都有属性,在C#中是通过类的公有或私有变量来表现的

所以可以说:类中的公有函数即是这个类的方法.类中的所有变量均可以看作该类的属性.(只适用于C#,JAVA对方法和属性的表达有更细的分别)

举个例子,人是有性别的,同时人是可以吃饭的.那么在人类这个类里面,性别就是属性,而吃饭就是操作这个人的方法(你可以让一个人吃饭~),如果在语言中如何实现?比如C#可以通过变量和函数实现:[套用楼上XD代码]
class CPerson
{
pubic integer sex=new integer();
pulic integer eat()
{
return 1;
}
}

class a
{
pubic integer int1=new integer();//int1就是个属性
pulic integer sum(a,b)
{
return a+b;//这就是方法,方法就是函数
}
}

首先,我记得c#中没有函数这个说法,语言搞多了,我也混乱了.什么面象过程,面象对象.
例子
class class1
{
private int _x;
private Color _color ;
public Color Color1 //属性
{
get{return _color;}
set
{
_color=value
//在此加入改变该类的实例的颜色的具体代码
setcolor(_color);//这是一个假设的方法;
}
}

public int x //这是属性.
{
get {
return _x
}
set {
_x=value;
}
}
public int add(int x, int y) //这是方法
{
return x+y;
}
}
楼上那个秀才的pubic integer int1=new integer();//int1就是个属性
这不是一个属性.这只是一个成员字段(在C++中叫成员变量,烦语言搅和在一块),而且,int数据不需要new.
从使用上讲,属性可以理解为一个成员字段加一定的功能,如:有一个属性color是想得到和设置某对象的颜色,那在属性的set段加入代码
在使用上,方法嘛,你想要什么功能就什么功能,只要你的代码能实现.

在非托管c++中没有属性这个概念.属性,只是说明程序语言的包装更好,更接近面向对象型语言的思想.没有属性一样可以实现你想要实现的功能.