第五章 造一条生产线
CLASS 类
EVERYTHING IS OBJECT,一切都是事物,每项事物都有其自己的特征和行为。
所有的事物都有两个方面:有什么(属性):用来描述对象。能够做什么(方法):告诉外界对象有那些功能。
这个世界上所有的苹果之所以叫苹果,是因为有人把苹果的定义抽象为一种圆形果实,味道甜中略酸,颜色多样。红富士是一种具体的苹果,果皮通体鲜红,平均单果重180-300克,最大可达400克,扁圆形为主,果肉黄白色,质地细脆多汁,糖酸比均衡。一个是抽象的定义,一个是具体的事物。抽象的定义就是类(class),具体的事物就是对象(object)
类(class)就像是一个蓝图,是一个模板,对象(object)就是一个具体的事物。通过类可以实现一个事物。
使用class关键字来定义一个类。
public class Apple {
// 定义了2个属性,分别是颜色和重量
public string Color { get; set; }
public int Weight { get; set; }
}
类要实例化成对象才能被调用。
// 类的实例化
// 类也是一种数据类型,先用Apple的类型 定义一个Fuji变量
// 然后使用new实例化一个对象
// new后面的Apple()表示使用Apple模板
Apple Fuji = new Apple();
//对象实例化后,对象的属性可以用对象名称加点加属性名称来调用。
Fuji.Color = "红色";
Fuji.Weight = 200;
// 之后可以像基本数据类型一样进行调用。
Console.WriteLine($"红富士的颜色是{Fuji.Color},重量是{Fuji.Weight}克");
public class Apple {
// 定义了2个属性,分别是颜色和重量
public string Color { get; set; }
public int Weight { get; set; }
}
既然是类是一种数据类型,就可以放在流水线上被传递。
// 类实例化成一个对象
Apple Fuji = new Apple();
// 设定对象的属性值
Fuji.Weight = 200;
// 将对象传入函数
pare(Fuji);
Console.WriteLine("苹果的大小检测完毕,继续下一个检测");
// 定义一个返回Apple类型的函数
// 这个函数可以传入Apple类型的数据
// Apple是数据类型,apple是形参,占位符,可以是任何字符,不一定是apple
static Apple pare(Apple apple)
{
if(apple.Weight>180 && apple.Weight <= 200)
{
Console.WriteLine("苹果的大小符合要求");
}
return apple;
}
public class Apple { public string Color { get; set; } public int Weight { get; set; } }
一个类实例的对象可以是一个盒子
注意:new Apple()后面的圆括号换成了花括号。
Apple apple = new Apple { Color = "红色", Weight = 180 };
Console.WriteLine(apple.Color);
public class Apple { public string Color { get; set; } public int Weight { get; set; } }
也可以变成一堆盒子
Apple[] apples = new Apple[] {
new Apple{Color="红中带点白",Weight=186},
new Apple{Color="深红色",Weight=190},
new Apple{Color="红中有点黄",Weight=195},
};
// 可以使用foreach 把苹果一个个的拿出来
foreach (var apple in apples)
{
Console.WriteLine(apple.Color);
Console.WriteLine(apple.Weight);
}
public class Apple { public string Color { get; set; } public int Weight { get; set; } }
试试列表,应该是可以装箱子的
List<Apple> apples = new List<Apple> {
new Apple{Color="红中带点白",Weight=186},
new Apple{Color="深红色",Weight=190},
new Apple{Color="红中有点黄",Weight=195},
};
// 可以使用foreach 把苹果一个个的拿出来
foreach (var apple in apples)
{
Console.WriteLine(apple.Color);
Console.WriteLine(apple.Weight);
}
public class Apple { public string Color { get; set; } public int Weight { get; set; } }