面向接口编程

目录

什么是面向接口编程

面向接口编程的优点

接口编程在设计模式中的体现:开闭原则

面向过程编程

面向对象编程

面向对象的基本特征 封装、继承、多态

函数重载:


什么是面向接口编程

面向接口编程就是先把客户的业务逻辑线提取出来,作为接口,业务具体实现通过该接口的实现类来完成。 当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口 的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。

面向接口编程的优点

  1. 降低程序的耦合性。其能够最大限度的解耦,所谓解耦既是解耦合的意思,它和耦合相对。耦合就是联系 ,耦合越强,联系越紧密。在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换其中之一的难度就越大,扩展功能和debug的难度也就越大。
  2. 易于程序的扩展;
  3. 有利于程序的维护;

接口编程在设计模式中的体现:开闭原则

其遵循的思想是:对扩展开放,对修改关闭。其恰恰就是遵循的是使用接口来实现。在使用面向接口的编程过程中,将具体逻辑与实现分开,减少了各个类之间的相互依赖,当各个类变化时,不需要对已经编写的系统进行改动,添加新的实现类就可以了,不在担心新改动的类对系统的其他模块造成影响。

面向过程编程

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向过程是一种以过程为中心的编程思想。面向过程是一种最为实际的思考方式,就算是面向对象的方法也有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际的实现。一般面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

面向对象编程

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

对象:对象是要研究的任何事物。比如人类就是一个对象,然而对象是有属性和方法的,那么身高、体重、年龄、性别等等,这些是每个人都有的特征可以概括为属性。 :类是对象的模板。即类是对一组有相同属性和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。

面向对象的基本特征 封装、继承、多态

封装

把具体的事务抽象成一个类,对事务的属性和行为进行限制,比如public,protected,private; staruct定义一个类的时候默认权限是public 但是class定义一个类的时候默认权限是private; 所以class定义的类他将权限设置为私有,就可以自己控制读写权限。

友元函数:友元函数是指在一个类中声明的非成员函数,它可以访问该类的私有成员和保护成员。友元函数通过在类的声明中添加friend关键字来实现,从而允许该函数访问类的私有和保护成员。友元函数的作用在于提供一种在类的外部访问类的私有和保护成员的方式,它可以增加程序的灵活性和可扩展性,但同时也会降低程序的封装性和安全性。

继承

继承是指通过扩展现有的类来创建一个新类的过程。在C++中,通过继承可以实现代码的重用和代码的组织,其中子类复用了基类的全体数据和成员函数(基类的私有也可继承但是无法访问)其中构造函数,析构函数,友元函数,静态都不能被继承,还有基类被final关键字修饰的时候不能被继承。

多态

它指的是同一类型的对象,在不同的时间和场合下可以表现出不同的行为。在C++中,多态通过虚函数或者函数重载来实现。

意义:对已存在的代码进行了替代和扩充,新增子类不会影响已存在类的各种性质,在程序中体现了灵活多样的操作,提高了使用效率,简化了对应用代码的编写和修改过程

函数重载:

函数重载则是指在同一个作用域内定义的多个同名函数,它们的参数列表不同,但函数名相同。在调用函数时,编译器会根据函数参数的类型和数量来选择相应的函数,从而实现函数重载的效果。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值