面向对象最基础的两个概念是类和对象,那么这两个概念如何理解呢?以下是我通过阅读他人的文章,写的一点心得:
类(Class):描述了具有相同特性(数据元素)和行为(功能)的对象集合,
这说明: 1.类中可包含任意多个对象。
2.类是抽象的,而对象是具体的,举个例子,水果是一个类,但是更具体的是指哪一个水果呢,可以是苹果,梨, 香蕉等等。
3.这个类是干嘛用的呢?--是创造对象用的,创造符合类的一些约束的对象。
4.上句提到的相同特性(数据元素)和行为(功能),就是创建一个对象时要满足的一些约束。
5.现实生活中,我们是通过对大量事物的认识和经验总结,才把这些事物归为一个类。这是一个具体到抽象的过 程,具体是每一个事物(也就是所说的对象),抽象则是描述这些事物的一个概念(类)。而在程序设计中,要 先有一个类,才能有对象,这是一个先抽象再具体的过程。
下面举个Java例子说明:
/*Person是一个类*/
class Person{
String name; //名字
int age; //年龄,
String sex; //性别
void run(){ //跑是人这个类一种行为
System.out.println("running....");
}
public static void main(String[] args){
Persoon p1 = new Person("张三",20,"男"); //创建了名字为张三,年龄20,性别男的一个人(对象)
p1.run(); //张三具有跑的行为
}
}
程序中,Person就是一个类,它并没有具体指哪个人,而通过Persoon p1 = new Person("张三",20,"男"); 这条语句 创建了张三这个对象。张三这个人满足了Person类的行为和特性。
因此,对象是通过类创造的,类就像是对象的模板。