
OOP的基本概念
软件的对象是自然对象的抽象表示,软件是自然世界的真实场景的真实表示,因此人们内心所构想的软件与他们眼中看到的世界是一致的. 软件是自然界发生的事情的抽象. 在编写软件程序时,世界上的一切都是对象.
每个物体之间都有一些特征,例如鸟有翅膀并且可以飞翔,而狗有4条腿并且可以吠叫.
对象特征
----对象的特殊特征或属性

----对象行为
软件中的对象由数据(数据)和功能(功能)组成.
对象的类别
俗话说: 事物聚集在一起. 说明事物与类别之间的关系,通常将相似的对象归为一类. 例如: 某人是一个对象(是a),而人类是一个类别. 充分利用类别对对象进行分类和组织是面向对象软件开发的重要技术.
类别是具有共同特征的一组对象,类别定义是为了说明该组对象具有哪些重要特征. 特征包括对象的特征和行为. 软件中的对象使用数据来表达特征,并使用功能来表达行为.
类别的目的是创建新的数据类型. 在Java语言中,int,double,char等是基本数据类型. 类别创建的数据类型称为“抽象数据类型”oop概念,基本数据类型定义的变量也称为变量,类别定义的变量称为对象.

Java类别定义为
class Bird{
//...
}
创建对象如下
Bird bird=new Bird();
在上面的代码中,brid称为引用,它等效于一个人的名字,并且可以在函数之间传递. 而new是用于创建对象的算术符号. 使用new生成一个新对象,并使用bird引用该对象.
在软件设计中,通常首先确定类别,然后阐明类别之间的关系. 关系的类别为: “亲子关系”和“全天和部分关系”.

亲子关系
在自然界中,动物是一种生物(一种),植物也是一种生物,也就是说,动物和植物都是一种生物. 此时,可以说动植物是生物学的子类(sub-class),而生物是动植物的超类. 这种父子类别关系是在软件中组织相关对象的重要手段.
在日常生活中,父子类别是一种非常常见的关系,已成为一种继承关系. 如图所示
例如,Android中的“查看”类别系统:

使用关键字extends描述Java中的继承关系:
class Person{
//...
}
class Student extends Person{
}
class Teacher extends Person {
}
关键字extends后面是父类oop概念,而前面是子类. 子类继承父类的所有特征(属性)和功能;
整体与部分之间的关系
另一个常见类别关系是整个部分关系(整个部分). 例如,一辆汽车有1个引擎和4个轮胎,如图所示:
在软件设计中,类别和对象通常根据此结构进行组织. 整体与部分之间的关系也称为聚集关系.
例如,Android中的View类别系统,一种典型的聚合关系:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-287958-1.html
日本海军强在舰新