面向对象
- 面向对象编程(OOP - Object Oriented Programing)
面向过程与面向对象的区别
- 面向过程与面向对象都是我们编程中编写程序的一种思维方式
- 面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实现的过程
- 面向对象的程序设计方式,是遇到一件事时,思考"我该让谁来做",然后那个"谁"就是对象
使用面向对象的好处
- 面向对象思维方式是一种更加符合人们思考习惯的思想
- 面向对象中更多体现的是指挥着(指挥对象做事情)
- 面向对象思维方式将复杂的问题简单化
面向对象举例
-
超市
- 客户
- 姓名:小龙女
- 身高:160cm
- 身高:60kg
- 操作:购物
- 收银员
- 姓名:啊明
- 部门:财务部
- 员工编号:00001
- 操作:收银、打印账单、刷卡
- 客户
-
汽车
public class Car {
// 颜色
String color;
// 轮胎个数
int number;
public void run() {
System.out.println("一辆颜色为"+color+"轮子数为"+number+"的车行驶在蜿蜒的马路上");
}
}
类与对象的区别
- 在程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出两个概念,即类和对象。其中 类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体
面向对象三大特性
- 封装
- 只隐藏对象的属性和实现细节,仅对外提供公共访问方式
- 好处: 将变化隔离、便于使用、提高复用性、提高安全性
- 原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问
- 继承
- 子类自动拥有父类非私有的属性与方法
- 提高代码复用性;继承是多态的前提
- 多态
- 类的多种形态。是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象
- 好处:提高了程序的扩展性
- 弊端:当父类引用指向子类对象时,虽提高了扩展性,但只能访问父类中具备的方法,不可访问子类中的方法;即访问的局限性
- 前提:实现或继承关系;覆写父类方法