目录
1、什么是面向对象?
面向对象是区别于面向过程的一种程序开发设计技术,它将重点放在对象与对象的接口上。
面向对象(Object Oriented),是指面向客观事物之间的关系。人们日常的思维方式是面向对象的,自然界事物之间的关系是对象与对象之间的关系。
2、什么是对象?
对象(Object),指一个具体事物实例。无论是具体有形的鸡鸭猫狗、江河山川,还是无形的看不见的思想、运气等都是对象。总之一切事物都是对象!
在JAVA中,Object类是其他所有类的父类,其他的类都继承与Object类。
3、面向对象思想
面向对象思想是从现实世界中客观存在的事物出发,构建我们需要的程序,并在程序中尽量可能的采用人类的思维方式,强调以事物为中心思考问题,认识问题,并根据这些事物的本质特点,把它们抽象的表示为程序中的类(Class),作为程序中的基本单元,使事物在程序中保持相互原本的关联关系。
4、面向对象特征
面向对象有4中基本特征:抽象、继承、封装、多态。
①抽象
是将现实世界中的事物描述为系统程序中的类、对象及方法的过程,在这个过程中除去不相关的数据和信息,保留事物的基本特征。抽象的过程就是比较汇总的过程,留下共有的属性。
比如抽象人,国籍、姓名等是共有的属性,但是像胡须、头发等就不能作为抽象属性,因为可能就有人没有,不是公共属性。
②继承
继承是实现代码复用的重要实现手段,利用继承,开发人员可以重复利用已经存在的类,就可以构建一个新的类(子类)。子类继承已存在的类(父类)的属性和方法,而这部分代码子类就可以不用写。同时子类可以增加新的属性、方法,满足子类的需求,实现功能的扩展。
例如父类书Book,定义公共方法页数pageNum(),子类小说Novel继承Book,可以直接使用父类的pageNum()方法,也可以增加自己新的业务方法。
注意:父类private修饰的方法和属性,子类无法继承。
③封装
将对象的实现过程隐藏起来,对外提供公共接口,提供对象的功能。用户不需要知道具体的实现过程,只需要通过接口获取方法返回的结果。
④多态
多态指子类对象可以直接赋值给父类变量,但在运行时依然表现出子类的特征,简单说“一种定义,多种实现”。
Java引用变量有两种类型,分别是编译时类型和运行时类型,编译时类型由声明类型决定,运行时类型由赋值对象的类型决定。如果编译时类型和运行时类型不一致,就会出现所谓多态。
5、面向对象概念
- 类型(类) 指一个名词概念,如:客人、菜品、厨师
- 引用(变量) 指引用具体概念实例的代词,如:某人、特价菜
- 对象(东西) 指具体概念的个体实例,如:张三丰这个人、一盘大盘鸡
- 属性 指一个对象的定义。比如身份证的姓名,编号等
- 方法 指对象的功能,描述对象的行为