什么是OOP

面向对象编程(Object Oriented Programming, OOP)是和面向过程编程(Procedure Oriented Programming, POP)相对应的一种编程思想。

学过C语言的朋友估计已经很熟悉POP的编程思想,在POP中,函数是程序的基本单元,我们可以把一个问题分解成多个步骤来解决,每一步或者每一个功能都可以使用函数来实现。而在面向对象编程中,对象是程序的基本单元,对象是类的实例化,类则是对客观事物抽象而成的一种数据类型,其内部包括属性和方法(即数据成员和函数实现)。

POP和OOP除了在语言语法上实现的不同,风大的区别在于两者解决问题的思路不同:面向过程编程侧重于解决问题的步骤过程,一般适用于简单功能的实现场合。如要完成一件事:把大象放到冰箱里面,我们可以分为三步。

  • 打开冰箱门,

  • 把大象放到冰箱里

  • 关掉冰箱门

每一步我们都可以使用一个函数完成特定的功能,然后再主程序中分别调用即可。而面向对象编程则侧重于将问题抽象、封装成一个个类,然后通过集成来实现代码复用,面向对象编程一般用于复杂西戎的软件分层和架构设计。我们也可以把面向对象编程作为工具,去分析各种复杂的大型项目,如在Linux内核中就处处蕴含着面向对象编程思想。对于Linux内核众多的模块、复杂的子系统,如果我们还从C语言的角度,用面向过程编程思想去分析一个驱动和子系统,无非就是各种注册、初始化、打开、关闭、读写流程,系统稍微变得复杂一点,往往就感到力不从心。而使用面向对象编程思想,我们可以从代码复用、软件分层的角度去分析,更加容易掌握整个软件的架构和层次设计。

关于OOP,还需要注意的是:面向对象编程思想与具体的编程语言无关。C++、Java事项了类机制,增加了class关键字,可以更好地支持面向对象编程,但C语言同样可以通过结构体、函数指针来实现面向对象编程思想。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值