数据的表示和存储模式
类型由简单到复杂的转换。
> 基本类型 (面向过程的语言, 处处皆函数!)
int, byte, long, …..
float,double….
boolean
char
数组(多种相同数据类型的变量的集合)
> 过度类型
没有一种数据类型能够用来说明一个人?
软件语言设计者发现使用任何一种基本类型都无法说明现实生活的具体某一事物,最多只能说明其中的一个特征。那么,如果要说明一个拥有众多特征的事物,可能需要有多个基本类型来配合完成。(结构体)
多种不同的基本类型捆绑在一起用来表示一个事物的各个方面的特征,
struct book{
double bookWeight;
string bookName;
float bookPrice;
boolean ….
} b;
book b;
b. bookName=”J2EE学习”;
> 复杂类型 (class 类型)
class Cat{
Double weight;
String name;
Int age;
Void run() { }
Void sound() { }
…..
}
Cat c;
Class是包含了方法的超级结构体。
创建结构体变量(开辟内存空间)
book b;
b.bookName…
创建类变量以及创建对象 (开辟空间)
Cat c=new Cat();
这里是c是指针,指向在内存中的Cat对象。
new Cat()是申请内存空间,创建对象。
2. 类和对象
声明结构体 -> 结构体变量
声明类 -> 对象
万事万物皆对象,世界是由对象构成的,每个对象都有特征和行为,对象组合之后可以形成新的对象。
类是模具,而对象是由模具创建出来的实物
现实生活:
模具 -> 实物
(制作模具是重要而且复杂的,同时也是抽象的)
程序中:(程序开发的目标就是为了再造世界)
类 -> 对象
(创建类是复杂的,抽象的工作)
如何创建类?
类是模具,有了类,就可以通过这个模具生成出来很多对象。
3.类的构建
a.属性 (property) [成员]
b.方法 (method) [动作]
属性是主人,方法为属性服务,是仆人。
c.类的构建粒度
满足程序的设计需要即可,未涉及的属性和方法可不加入类的设计。
不同的应用领域会有不同的抽象视角。
Cat c=new Cat();
c是一个指针,c的数据类型是Cat型,说明c可以指向任何以Cat模具创造出来的对象。