黑马程序员--类

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

类定义了类的每个实例可以包含些什么,而把类中的数据以及函数等叫做类的成员,还可以有类中类的存在,
一:数据成员
数据成员是指类中的字段、常量、事件等。
类中的变量叫做字段,例如:

    public class Person
 
    {
 
        public string name;
 
        public bool sex;
 
        public int age;
 
    }

在以上代码中,name、sex、age 就叫做Person类的字段,可以有以下代码给其赋值:

            Person ps = new Person();
            ps.name = "张三";
 
            ps.sex = true;
 
            ps.age = 20;

可以用new关键字创建类的一个实例,如上述中的ps,然后通过“.”访问ps中的字段——name、sex、age等,如若对Person类稍作修改,给其加一个方法,如:

    public class Person
 
    {
 
        public string name;
 
        public bool sex;
 
        public int age;
 
        public void ShowMsg()
 
        {
 
            Console.WriteLine(" 姓名:{0}\n 性别:{1}\n 年龄:{2}",name,sex,age);
 
        }
 
    }

则可以这样:

            Person ps = new Person();
 
            ps.name = "张三";
 
            ps.sex = true;
 
            ps.age = 20;
 
            ps.ShowMsg();

此处须注意,在new类的对象时,会对其数据成员做初始化,把值类型初始化为0,而把引用类型初始化为null,具体可以注释掉上述代码中的name(string为引用类型)以及age(int为值类型)做测试。 (关于这点可以研究下构造函数)
函数成员是对数据类型操作从而达到某种需求的,方法、属性、构造函数、析构函数等都是函数成员,运算符和索引器也是函数成员。例如上例中的ShowMsg()就是一个返回值为void,不带参数的函数成员,调用的时候用了“实例名.成员名”这种形式,以下代码定义一个带一个string类型参数,返回值为其长度的函数:

        public int Length(string str)
 
        {
 
            int Len = str.Length;
 
            return Len;
 
        }

所以我们可以由其获取一个字符串的长度,例如做如下调用:

int ll = ps.Length(ps.name);

从而得到name的长度,并把其赋值给int类型的 ll。
关于参数的传递,有点要注意,就是在传递参数的时候都是值传递,不管是值类型还是引用类型,在某些时候我们可能需要以引用的方式传递参数,通过ref和out可以实现,
ref会把参数的索引传递给函数,所以对该值所做的任何改变都会保留。使用的时候要在定义函数的时候在参数前面加上ref关键字,调用亦是。无论是参数的值传递还是ref传递,都要求对变量初始化。
由于函数只能有一个返回值,而或许我们希望能返回多个值,out可以帮助我们实现,和ref关键字一样,在定义和调用的时候必须加上out关键字,和ref不同的是out参数可以不必初始化,但在方法内部使用之前必须给其赋值,而在方法体结束之前必须对所有的out参数都有赋值操作,不然会报错,这点须特别注意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值