【Python面试】 说说Python面向对象三大特性?
公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:说说Python面向对象三大特性?
答:Python是一门面向对象的语言。面向对象都有三大特性:封装、继承、多态。
下面分别来说说这三大特性:
1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式。在python中用双下划线开头的方式将属性设置成私有的 。
好处:1. 将变化隔离;2. 便于使用;3. 提高复用性;4. 提高安全性。
2、继承
继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类。即一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系 。
python中类的继承分为:单继承和多继承
class ParentClass1: #定义父类
class ParentClass2: #定义父类
class SubClass1(ParentClass1): #单继承,基类是ParentClass1,派生类是SubClass
class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
3、多态
一种事物的多种体现形式,函数的重写其实就是多态的一种体现 。Python中,多态指的是父类的引用指向子类的对象 。
实现多态的步骤:
1、定义新的子类
2、重写对应的父类方法
3、使用子类的方法直接处理,不调用父类的方法
多态的好处:
(1)增加了程序的灵活性
(2)增加了程序可扩展性
如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!
更多题目:
【Python面试】谈谈对 Python 和其他语言的区别?
【Python面试】谈谈对 Python3 和 Python2 的区别?
关注小猿公众号,每天学习一道题