勤奋 交流

Secondhand Developer

农民工兄弟学习C# (8) 上帝造人

 

        类是什么?类就是“类”,这是个最合适的答案,物以类聚的“类”,人类的“类”,如果你还没有明白,那就问一下你的小学语文老师吧,一个类就是一个概念,一个思想,它就是具有共同属性的一类物体的总的称呼,我们一提到人类就知道这是种两条腿着地的物体,我们一提到狗类就知道这是种四条腿着地的物体。
       前边提到,类中的成员变量叫做字段(Field),就是指类中包含有什么部件,比如人类都有嘴巴,眼睛,耳朵,脚,手,年龄,姓名这都是人类的字段。这些字段有些是能够被外界访问的,用public修饰,比如手,嘴,耳朵,姓名,有些是不能被外界直接访问的,用private 修饰,比如内脏,血液还有女士的体重和年龄。
        人是活动的,所以人类有各种各样的行为,比如说话,吃饭,睡觉这在C#语言中叫方法(Medthod),这些方法往往会使用到字段,人类用嘴吃饭,说话,用脚走路。所以要定义一个类只要写上类中的字段和方法就行了。
        上帝在实验室里画了个张人类的草图,但这没有实际的意义,上帝要把这个概念实施,和所有企业一样在还没生产出产品之前要先给这个产品起个名字,并开始做广告了,就叫张三吧 于是上帝找来一些物质,开始造人,Building...。这个张三就叫实例。
        在类中有一个方法是特殊的,就是那个和类名同名的方法,它叫构造函数(Constructor),这个方法在实例被创建时被调用,就好象小孩子出生时的哭声一样.一个人在死之前总得说点什么吧,对,在C#中也是这样的,一个实例在消亡之前也将调用一个方法,这个方法叫析构函数(Destructor),它的名字是在类名前加一个"~".这个方法就是实例的临终遗言.

下边是上帝造人的全过程,是我黑了上帝的电脑之后找到的并且加了批注。

class Renlei
{
    
public int Zuiba;
    
public int Bizi;
    
public int Shengao;
    
//以上的三个字段是可以被外界访问的
    private int Xinzhang;
    
private int Tizhong;
    
//以上两个字段是不能被外界访问的
    
//下边这个方法叫构造函数
    public Renlei()
    
{
        System.Console.WriteLine(
"Wawawa");
    }

    
//下边这个方法叫析构函数  
    ~Renlei()
    
{
        System.Console.WriteLine(
"俺不想死呀");
    }

    
public void Shuohua()
    
{
        System.Console.WriteLine(
"俺的身高是" + Shengao + "厘米");
    }

}



class ShangDiZaoRen
{
    
static void Main(string[] args)
    
{
        System.Console.WriteLine(
"大家好,我是农民工");
        Renlei Zhangsan;
//给这个人取个名字先
        Zhangsan = new Renlei();//造一个张三
        Zhangsan.Shengao = 160;
        Zhangsan.Shuohua();
        Renlei Lisi
=new Renlei();//Building
        Lisi.Shengao = 170;
        Lisi.Shuohua();        
    }

}



Ctrl+F5 一下吧,运行结果如下


大家好,我是农民工
Wawawa...
俺的身高是160厘米
Wawawa...
俺的身高是170厘米
俺不想死呀
俺不想死呀
请按任意键继续. . .

本文首发于http://yaotong.cnblogs.com/

posted on 2006-12-11 19:16 二手程序员 阅读(2583) 评论(14)  编辑 收藏 所属分类: 农民工兄弟学习C#

评论

#1楼  2006-12-26 15:07 zl[匿名] [未注册用户]

为什么这些天都没有写呢?   回复  引用    

#2楼  2006-12-26 15:08 zl[匿名] [未注册用户]

可要坚持哦。。。   回复  引用    

#3楼 [楼主] 2006-12-26 17:15 二手的程序员      

唉,这些天儿子病了,现在已经好了.   回复  引用  查看    

#4楼  2007-01-07 20:32 Dah      

支持一下....   回复  引用  查看    

#5楼 [楼主] 2007-01-08 22:46 二手的程序员      

谢谢,放假以后我会继续写的.   回复  引用  查看    

#6楼  2007-01-22 10:18 傻猪猪 [未注册用户]

大哥.你出快点吧.我等好久了.   回复  引用    

#7楼 [楼主] 2007-01-27 15:48 二手的程序员      

@傻猪猪
谢谢

忽然发现自已的水平太低了,还有太多的东西要学.   回复  引用  查看    

#8楼  2007-02-16 02:12 笑容      

高深的东西被你用浅显的话语说的明明白白

受益非浅。。。。楼主是高人!   回复  引用  查看    

#9楼  2007-02-16 02:49 笑容      

不理解 静态方法和非静态方法

什么时候用静态?什么时候用非静态?

C#干嘛要搞一个静态和非静态啊?   回复  引用  查看    

#10楼 [楼主] 2007-02-18 00:06 二手的程序员      

所谓静态方法就是指只属于类本身的方法,而不属于特定的对象。
看一下来自MSDN的这个例子,你就对它有所了解了.

// cs_static_keyword.cs
using System;

public class Employee
{
public string id;
public string name;

public Employee()
{
}

public Employee(string name, string id)
{
this.name = name;
this.id = id;
}

public static int employeeCounter;

public static int AddEmployee()
{
return ++employeeCounter;
}
}

class MainClass : Employee
{
static void Main()
{
Console.Write("Enter the employee's name: ");
string name = Console.ReadLine();
Console.Write("Enter the employee's ID: ");
string id = Console.ReadLine();

// Create and configure the employee object:
Employee e = new Employee(name, id);
Console.Write("Enter the current number of employees: ");
string n = Console.ReadLine();
Employee.employeeCounter = Int32.Parse(n);
Employee.AddEmployee();

// Display the new information:
Console.WriteLine("Name: {0}", e.name);
Console.WriteLine("ID: {0}", e.id);
Console.WriteLine("New Number of Employees: {0}",
Employee.employeeCounter);
}
}   回复  引用  查看    

#11楼  2007-02-27 01:39 笑容      

农民工兄弟学习C#怎么不接着写了?
多好教程呀
非常喜欢!   回复  引用  查看    

#12楼 [楼主] 2007-02-27 10:22 二手的程序员      

@笑容
我的水平有限,好多东西还理解的不深,所以不敢再多写了,怕误人呀   回复  引用  查看    

#13楼  2007-03-03 17:53 8      

加快学习理解,写的不错,支持一下   回复  引用  查看    

#14楼 [楼主] 2007-03-03 18:19 二手的程序员      

@8
谢谢关注   回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-10-06 21:34 编辑过


相关链接: