万物皆对象_Python基础找茬系列26--面向对象与面向过程的区别

本文探讨了面向对象编程的概念,通过“如何把大象装进冰箱”的例子对比了面向过程和面向对象的区别。接着,详细解释了Python面向对象的三大特性——封装、继承和多态,并通过实例进行说明。封装强调了隐藏内部细节,提供简洁接口;继承允许子类继承父类的属性,减少了代码重复;多态则展示了同一方法在不同对象上可能产生的不同行为。最后,文章提到了Python类的语法、继承和多态的实现。
摘要由CSDN通过智能技术生成
c9a69af6d264a355eac98c6f1522bf13.gif
564baf9f8c665e380fd69f6a24c4260c.png

问题:

为什么创建__init__或者别的类函数时需多加一个self变量?

答案见评论区,期待你的不同见解。


一、面向对象vs面向过程

e64c100b07ca37a5b9bcd60e880649ca.png

用一个经典的问题“如何把大象装进冰箱”阐述二者的区别

●面向过程思维:把大象装进冰箱需要三步:

【1】打开冰箱

【2】把大象装进去

【3】关闭冰箱

●面向对象思维:“万物皆对象”

【1】你、大象、冰箱看成三个对象

【2】你发送消息给冰箱,传递力的参数给冰箱的门,门打开

【3】你传递消息给大象,大象响应消息,大象进冰箱

【4】你发送消息给冰箱,传递力的参数给冰箱的门,门关上


二、Python面向对象编程的三大特性

eb68ed293b0203ee7ca4b335959b3adb.png

●封装

举个栗子,现在的手机厂商把手机电池通过外壳封装在手机内,用户不需要知道电池长什么样,只需要充电即可使用。

Python类中有属性和方法,通过私有属性私有方法的方式实现封装

●继承

举个栗子,N年后王思聪继承了王健林的万达,小王利用老王的资产重新开发了一个直播软件:熊达。

Python继承,子类直接拥有被继承类的属性而不需要在自己的类体中重新再写一遍,并且还可以重新定义新的属性。

Python支持多重继承一个子类可以继承多个父类。(注意:学习Java的同学要区分开)

●多态

举个栗子,中国人都会讲中文“干什么”,不同地方说法不一样,但意思一样,有的说“噶哈玩意”?有的说“搞慕斯”?有的说“揍啥捏”?还有的说“干爪子”。

Python多态是指同一个方法调用,由于对象不同可能会产生不同的行为。

注意:

1.多态是方法的多态,属性没有多态

2.多态的存在有两个必要条件:继承、方法重写


三、Python实例讲解

●Python类class语法

37fd90a73f3df97a4c61b9642d19470b.png

●类中有类变量,类方法,类构造函数,静态方法,私有方法

a8904063cc2665625d8e22360ca065f9.png

d2d51510ee955ce060514d0b7868e2ec.png

●类的继承

b74d86fe24b22d9f4a484ccdb3c74bc1.png

5247f367ff89c4efcc95dc39902989c9.png

多继承:

11355c7872a53ced51941ae285a4b9d8.png

●类的多态

f91922515f679e7f907568b6b3754add.png

四、上一茬

>>>《Python基础找茬系列25--第三方库jieba中文分词的三种模式》


0a0769ea90801112265beb54561c6ef7.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值