什么是面向对象编程?(以python为例)

概述

如图,面向对象编程,望文生义呢,就是找一个对象,然后在她或他面前编程(✿◡‿◡)
在这里插入图片描述

根据小编的推测,图中的黑板上应该写的是:

#include <iostream>

using namespace std;

int main(){
    cout<<"hello world";
    return 0;
}
//out: hello world

没错,这就是标准的C++代码。C语言是面向过程编程,而C++是面向对象编程。

拿上方的代码来说,cout是标准输出流,在C++中输出流被定义为类,所以就涉及到了面向对象编程。

当然,本文不讲C++,而是拿python来讲解什么是面向对象编程。

例证

面向对象是相对面向过程而言的。面向过程编程注重过程,即程序的每一步要执行什么;面向对象编程的核心在对象,如对象有哪些属性和方法,对象间如何通讯。我们通过一个简单的例子来了解面向对象编程和面向过程编程的区别。

举个栗子

完成一个任务:计算矩形的面积。

面向过程

  1. 定义计算矩形面积的函数
  2. 给定矩形的长和宽
  3. 输出矩形面积
def main(w, h):
    area = w*h
    print(area)

main(2, 3)
# out: 6

面向对象

  1. 定义矩形类(类属性:长、宽;类方法:计算面积)
  2. 给定长和宽,创建矩形对象(也就是类的实例化)
  3. 上述矩形对象调用计算面积的方法
class Rectangle():
    def __init__(self, w, h):
        self.w = w
        self.h = h

    def main(self):
        area = self.w*self.h
        print(area)

Rectangle(2, 3).main()

对比

对比优点缺点
面向过程性能比面向对象高没有面向对象易维护、易复用、易扩展
面向对象易维护、易复用、易扩展性能比面向过程低

选择

对于简单的问题,一般采用面向过程即可解决。而复杂的问题,采用面向对象的较多。

python来说,50行以内的代码,一般不需要创建类和对象就能完美地解决问题。而超过100行的代码,如果你不使用类和对象,只使用函数,就会发现函数之间要不断的调用和传参,所以实现起来就变得很复杂,没有面向对象来得简单。

引用

https://baike.baidu.com/item/iostream/2850567?fr=aladdin

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xavier Jiezou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值