java核心技术-面向对象

面向对象

一、面向对象概述

1、面向对象又称为oop(Object Oriented programming)是相对于面向过程的另一种编程思想。

面向过程:面向对象是具体化的,流程化的。更注重的是具体的细节,需要自己一步步的解决,分析问题,由自己去实现。就像一个执行者一样
比如你想吃红烧鲤鱼,你需要手把手的从买菜,配菜,炒菜开始自己做。(执行者)
**优点:**相对于面向对象性能更高。因为类的调用开销较大,比较耗资源
**缺点:**不易维护,不易扩展,不可复用只能写简单的逻辑
面向对象:面向对象是模块化的。底层其实还是面向过程但是面向对象将具体的实现抽象成了一个类,然后封装起来。当人们想要使用时只需要调用就行,无需再关注里面的具体实现。就像一个指挥者一样
比如你还是想吃红烧鲤鱼,你不再需要手把手的做菜,只要调用厨师直接开吃就行了。(指挥者)
**优点:**易维护,易扩展,复用性高。由于面向对象有封装,继承,多态三大特性,可以设计出低偶合的系统
**缺点:**相对于面向过程,性能更差

二、面向对象三大特性五大原则

1、三大特性

1.1、继承

原有类派生出一个新的类,新类将获得原有类中非私有的方法以及属性。 继承是多态的前提

1.2、封装

隐藏类中的属性以及具体实现,提高复用性。提高了程序的便利性,复用性,安全性

1.3、多态

父类或者接口定义的变量可以直接指向子类或者实现的实例对象,提高了程序的拓展性

2.五大基本原则

2.1、单一职责原则

一个类或模块的功能要单一,一个类只对应一种功能,类下的方法也只能对本类的功能做一种特定描述(比如一个用户类,他的所有方法和属性只能和用户相关,类下的方法只能针对用户做一种处理)

2.2、里式替换原则

父类出现的地方子类可以在直接替换,子类应该能够代替父类做任何事情

2.3、依赖倒置原则

高层次的模块不能依赖低层次。父类不能依赖子类,抽象不能依赖具体实现。程序要依赖抽象,不能依赖具体实现

2.4、开放封闭原则

一个模块应该对拓展开放,对修改关闭。

2.5、接口分离原则

多个特定的客户端接口要好于一个庞大的通用性接口。
客户端不应该实现他不需要的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值