一、概念
Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。 一切皆为对象,真实世界中的所有事物都可以视为对象。面向对象是在面向过程的基础上发展而来,安装系统的功能,划分为若干个模块,将模块的不同功能,赋予某些实体(客观存在的)去完成,面向对象是对客观世界的真实模拟。对象有以下特点:
对象具有属性和行为。
对象具有变化的状态。
对象具有唯一性。
对象都是某个类别的实例。
对象:实体 类:对对象的抽象,形成类。
类是对象的模板,对象是类的实例化产物
语法:类名 对象名称=new 类名();
调用方法:对象.方法名称();
调用属性:对象.属性名称();
二、特点
(1)可重用性:它是面向对象软件开发的核心思路,提高了开发效率。面向对象程序设计的抽象、继承、封装和多态四大特点都围绕这个核心。
(2)可扩展性:它使面向对象设计脱离了基于模块的设计,便于软件的修改。
(3)可管理性:能够将功能与数据结合,方便管理。
①抽象:客观存在的事物进行高度的概括,总结,抽取出相似的部分,称之为抽象。详解:https://blog.csdn.net/One_L_Star/article/details/93490904
抽象方法的定义格式:public abstract 返回值类型 方法名(参数);
抽象类的定义格式:abstract class 类名{}
②封装:将对象不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定。
具体的实现方式:使用 private 修饰符把成员变量设置为私有,防止外部程序直接随意调用或修改成员变量,然后对外提供 public 的 set 和 get 方法按照开发者的意愿,设置和获取成员变量的值。也可以把只在本类内部使用的方法使用 private
1:定义:将私密的数据私有化,实现了内部的细节,对外提供一个公共的访问方法,可以访问该成员。
成员:成员方法和成员变量
2:封装的体现形式:
体现形式一: 方法是封装的最小单位。
体现形式二: 对成员变量进行封装 提供get、set方法private修饰属性
语法: private关键字 protected关键字
3:封装的优点:
a: 隐藏了内部的实现细节,保证了数据的安全。
b: 使代码更加具有模块化,实现了代码的复用,减少代码的冗余。
访问权限修饰符 private (修饰的东西只能在本类中访问)
③继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
语法:public class Subclass extends Supclass{
//获得Supclass里面的所有成员变量和成员方法。
//扩展自己的成员变量
//扩展自己的方法
}
Subclass :子类 使用extends 关键字去继承父类并自己进行扩展
Supclass:父类
继承优势:
a:实现了代码的复用,减少了代码的冗余。
b:实现了多态的机制。
继承弊端:
a:只能单继承
b:父类和子类的耦合度太高了。 不利于系统的扩展
继承的使用要点:
a:private修饰的成员不能被子类继承,就把它改成protected 一般父类里面的成员变量都是用protected修饰的
b: 子类可以扩展自己的成员
c:子类还可以对父类进行方法的改造(方法的重写)
private 本类才可以访问
protected 同包下的可以 不同包下的子类。
friendly 同包下的可以
public 所有的
④多态:在面向对象语言中,接口的多种不同的实现方式即为多态。多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作,允许将子类类型的指针赋值给父类类型的指针。
三、匿名对象
匿名对象是指, 没有给对象起名字只开辟了堆内存空间,而没有栈内存指向的对象。 可以作为方法的实参进行传递,只能使用一次,使用方便,生命周期短
匿名对象有以下两个特点:
1 匿名对象没有被其他对象所引用,即没有栈内存指向。
2 因为匿名对象没有栈内存指向,所以只能使用一次,之后就变成无法寻找的垃圾对象,会被垃圾回收器回收。
四、面向对象软件的开发过程
(1)分析 :面向对象的分析(OOA):需求分析
(2)设计: 面向对象的设计(OOD):对象模型进行设计 数据库表的设计
(3)编码: 面向对象的编码(OOP): 编码是程序的实现
(4)测试: 面向对象的测试(OOT): 找bug
(5)维护: 面向对象的维护(OOSM):对整个系统进行维护