苏飞论坛

标题: C#-类和对象1:定义类 [打印本页]

作者: wwwconsumer    时间: 2014-7-9 06:19
标题: C#-类和对象1:定义类
本帖最后由 wwwconsumer 于 2015-6-3 05:49 编辑

面向对象的编程思想主要涉及类、封装、接口和对象,下面我们来和这些抽象的概念接触吧。
世界上万事万物,虽然复杂,但也可以归门别类进行划分,类就是用数据表示事物的属性,用函数表示事物的行为,数据和行为就构成了一个统一的整体。例如,我们注册了苏菲论坛的会员后,这个会员就有了注册名、年龄、性别等属性,当然也可以有人与人打招呼、写文章、获得奖励这些行为。只要你把这些属性和行为定义为苏菲论坛的一个类中,你就可以为这个类中任何一个对象确定其注册名、年龄、性别属性(实际上就代表了具体的帅哥和美眉),你也可以让他(她)完成了打招呼、写文章、获得奖励等行为。怎么样,编程不难吧。下面我为苏菲论坛的会员写个类吧.
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SufeiClass
{
    class Sufei
    {
        //变量成员
        public string name;
        public int age;
        public int Age
        {
            get
            {
                return age;
            }
            set
            {
                if (value <= 0)
                    age = 0;
                else
                    age = value;
            }
        }
   
            private int count = 0; //用来记录积分

            //函数成员
            //函数:登陆
            private void Hello()
            {
                Console.Write("嗨,我是{0},我今年{1}岁了。", name,age);
            }

            //函数:写文章
            public void WriteAticle()
            {
                Hello();
                Console.WriteLine("你的帖子已经被录入精华,谢谢发言");
            }

            //函数:奖励积分
            public void JiangLi()
            {
                count++;
                Hello();
                Console.WriteLine("我已经积攒{0}积分!", count);
            }
        }
    }

作者: 站长苏飞    时间: 2014-7-9 08:08
你们有没有学到方法注释和命名规则,我是建议是方法以Xml注释为主,名称以骆驼命名为主,,

作者: wwwconsumer    时间: 2014-7-10 03:43
.Net推荐变量用camelCase(驼峰式)命名,以PascalCasing形式为函数命名,即所有单词的首字母大写。但你所说的以XML注释为主是指什么,我不太明白,请指教!
作者: wwwconsumer    时间: 2014-7-12 05:30
本帖最后由 wwwconsumer 于 2014-7-12 05:34 编辑

要使用类,必须首先申明一个该类的对象,通过对象执行类的行为。苏菲论坛成员只是一个是抽象的概念(类),它有年龄、性别、写文章的属性,但只有具体的对象wwwconsumer才能赋予其具体的属性和发出打招呼、写文章、获得奖励的动作。在编辑窗口中单击Program.cs标签,向主函数中输入下面的代码。
[C#] 纯文本查看 复制代码
 class Program
    {
        static void Main(string[] args)
        {
            //申明对象wwwconsumer
            Sufei wwwconsumer = new Sufei();
            //访问数据成员
            wwwconsumer.age = 40;
            wwwconsumer.name = "wwwconsumer";
            Console.WriteLine("嗨,我是{0},我今年{1}岁了。", wwwconsumer.name, wwwconsumer.age);
            //调用函数成员
            wwwconsumer.WriteAticle();
            wwwconsumer.JiangLi();
            wwwconsumer.JiangLi();


        }
    }
}

执行的结果: (, 下载次数: 86)