面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。
类与对象的基本概念:类与对象时整个面向对象中最基础的组成单元。
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
现在,我们深入研究什么是对象。
如果考虑到现实世界中,可以发现身边很多对象,汽车,狗,人等,这些对象都有一个状态和行为。
如果我们考虑一只狗,那么它的状态是 :品种. 年龄 . 颜色 它的行为 :吃. 睡 . 跑。
在Java中定义类,使用关键字class完成,在java中我们就可以定义狗
public class Dog {//狗类 状态对应着成员变量,行为对应着成员方法
String breed = "金毛"; //狗的第一个状态:品种
int age = 3; //狗的第二个状态:年龄
String color = '红色'; //狗的第三个状态:颜色
void eat() {
System.out.println("我会吃"); //狗的第一个行为:吃
}
void sleep() {
System.out.println("我会睡觉"); //狗的第二个行为:睡
}
void run() {
System.out.println("我会跑"); //狗的第三个行为:跑
}
}
如果软件对象与现实世界中的对象进行比较,它们具有非常相似的特征。
软件对象也有状态和行为。软件对象的状态存储在字段和行为是通过方法如图所示。
因此,在软件开发中,方法上的一个对象的内部状态和操作的对象对对象的通信是通过方法来完成。