封装和接口思想


      大家看书或者看一些标准库里源码实现的时候不知道有没有注意过一个问题,就是有些函数很简单,但是程序员会特意写一个函数完成这个功能,比如像是返回定长顺序表的有效长度,或者是说返回顺序表容量大小这些在定义顺序表结构的时候就已经定义好的变量,也许你自己使用的时候就可以直接用它的变量名,不需要非得用一个函数返回它的值再这样间接的用,大家是不是会觉得这样多次一举?
eg:
#define size 10
typedef struct seqlist
{
     int elem[size];
     int length;
}seqlist;

int getlength(seqlist s)
{
      return length;
}


      1、方便他人使用
         那它为什么要这么“多此一举”呢,其实它体现了一个设计的理念,每个人的生存都离不开社会和他人,我们写代码也是一样的,当我们进入公司的时候,分工合作,一个项目分为好几个模块,每个人完成和维护自己的模块,同时应该为团队里的其他人提供服务与方便,你不应该让你的队友去理解你代码里每个变量每个操作是什么意思,而是应该直接提供一个使用接口,这里的接口就是我们的函数声明,你应该把你的功能都封装成一个一个的函数,别人用你的代码的时候,只需要使用函数就可以了,这样你对数据进行修改的时候,只要接口不变,那使用者的代码或者用户的操作就不需要改变。

2、安全性
       当你只提供一个访问接口的时候,也就是一个函数声明的时候,别人是无法知道你使用了哪些变量,它们又分别对应了什么功能的,这样使用者就只能使用你提供的功能,而不能随便访问你定义的变量,并随机修改它们了,所以我们写代码的时候也应该把功能封装起来,多提供一些接口。
      
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程思想,它通过将数据和操作数据的方法组织在一起,以对象的形式来描述现实世界中的事物。面向对象编程的四个基本概念是封装、继承、多态和接口。 1. 封装(Encapsulation):封装是将数据和操作数据的方法封装在一起,形成一个独立的实体。这样可以隐藏内部的实现细节,只暴露对外提供的接口,提高代码的可维护性和重用性。通过封装,对象对外部只暴露必要的信息,同时可以对内部实现进行修改,而不会影响外部的使用。 2. 继承(Inheritance):继承是指一个类(子类)可以从另一个类(父类)继承属性和方法。子类可以复用父类的代码,并且可以在其基础上进行扩展或修改。继承可以实现代码的重用,同时也能够建立类之间的关系,形成类的层次结构。 3. 多态(Polymorphism):多态是指同一个方法可以根据不同的对象产生不同的行为。多态通过继承和方法重写来实现,可以提高代码的灵活性和可扩展性。通过多态,可以在不改变方法的情况下,根据对象的实际类型来动态调用不同的方法实现。 4. 接口(Interface):接口定义了一组方法的规范,实现了接口的类必须实现接口中定义的方法。接口可以用来实现类之间的解耦和增加代码的可扩展性。通过接口,可以定义类之间的约定,使得不同的类可以进行交互和通信。 这些概念是面向对象编程的基础,它们可以帮助开发者组织和管理复杂的代码,提高代码的可读性、可维护性和可扩展性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值