14
类终于来了!哈哈哈!
在之前Bob就说了好多次,我们以后再讲,这次总算到正题了!
在这之前,我一直没弄明白,什么是类,一开始,我找到了微软的官方文档:
他是这么说的:
类属于构造,使用类,可以通过组合其他类型的变量、方法和事件创建自己的自定义类型。 类好比是蓝图。 它定义类型的数据和行为。 如果类未声明为静态,客户端代码就可以通过创建分配给变量的对象或实例来使用该类。 变量会一直保留在内存中,直至对变量的所有引用超出范围为止。 超出范围时,CLR 将对其进行标记,以便用于垃圾回收。 如果类声明为静态,则内存中只有一个副本,且客户端代码只能通过类本身,而不是实例变量来访问它。 有关详细信息,请参阅静态类和静态类成员。
???这说的是啥??看不懂??我的智商太低了?
后来,Bob说了,类的知识其实我们一直在用(而且也就是你说的现在讲的) 我们都应该是“老手”了。他说了,他一开始为了给我们自信,讲简单了(我当时心一沉),但其实也不难。
Bob作了一个比喻,比如:
某汽车公司有一个要求,是要你做一个汽车分类的软件。如果你没学过类,你可能就会这么做:
定义车1、车2、车3的变量,然后再分别设置颜色、年代等等等等。
然后你可能发现你又要设置其他内容,你又要把所有东西改过来了!太烦了!
所以类就派上用场了。
(这时候的我还是一头雾水)
简单的说,类就是蓝图,Bob就是这么说的。而我们以前经常创建的那些是对象、实例化的类。
(咦,“蓝图”这个词似乎哪里看到过……啊!)
【蓝图】港澳地区又称“蓝纸”,是工程制图的原图经过描图、晒图和薰图后生成的复制品,因为图纸是蓝色的,所以被称为“蓝图”。蓝图类似照相用的相纸,可以反复复制新图,而且易于保存,不会模糊,不会掉色,不易玷污。在中文语境中,蓝图一词通常引申为一种对未来的构想或计划。
——维基百科
以及:
【实例】实际的例子
——互动百科
没错!就是这样!
打个比方,就好比是,类是哺乳动物,拥有种类、毛发等属性,而实例就是这之中的一种,比如,狗。
当然,我们在这个世界上不能找出一种真的叫做“哺乳动物”的动物的。同样的,狗可是到处都有的。所以,类可是不能直接被引用的,而由类创建的实例化对象却可以!
知道了这些,后面就方便了。
基本定义代码:
class car
//类
{public string make { get; set; }
//这是定义属性的语句 prop 输入后双击Tab就可以了
//其实还有完整版的,但Bob说,下次再讲……
public string model { get; set; }
public int year { get; set; }
public string Color { get; set; }
public decimal value()
//方法 decimal是十进制(浮点)
{
decimal carvalue = 0.00M;
if (year > 1949)
{
carvalue = 12970.00M;
}
else
{
carvalue = 12450.00M;
}
return carvalue;
}
}
}
程序主体:
car mycar = new car();
mycar.make = "土包子";
mycar.model = "凯申物流公司试验车";
mycar.Color = "凯申蓝";
mycar.year = 1925;
Console.WriteLine("{0} {1} {2} {3}",
mycar.make,
mycar.model,
mycar.Color,
mycar.year);
Console.WriteLine("{0:C}",mycar.value());
Console.Read();