python-面试笔记(面向对象,类)

一,什么是封装?
类是一种封装,将属性和方法封装。
函数也是一种封装,将具有一定共的逻辑代码封装到一个函数中,使用的时候调用即可
提高代码的扩展性。

二,什么是继承?
将公共的(共性的)属性和方法放在父类中,子类只关注自己特有的属性和方法。
提高代码的扩展性。

三,什么是多态?
一个对象在不同的情况下,具有不同的形态,用于强类型语言。是使用在继承和接口中实现。
Python中有两种说法:
1、python支持多态,python是一个弱类型,本身一个变量名,可以存储任何类型的值,可以理解为多种形态
2、python不支持多态,多态本身是用于强类型语言的,python是一个弱类型,所以不支持多态

类的建议使用 类名.类方法名()

对象里存放两种内容
1.实例属性
2.指向类对象的指针

之前对象的属性,是实例属性

实例属性:
只能通过实例对象调用
通过实例对象调用修改
每个实例对象拥有自己的,使用实例属性

类属性:
实例对象和类对象都能访问
通过类对象调用修改
所有实例对象共同拥有一个,使用类属性

self:当前实例对象
cls:当前类对象

实例方法:
通过实例对象调用,至少有一个参数,一般叫self,表示当前实例对象,自动赋值

类方法:
@classmethod
通过实例对象和类对象都调用,一般叫cls,表示当前类对象,自动赋值

静态方法:
@staticmethod
通过实例对象和类对象都调用,可以有参数,也可以没有参数,手动赋值

类对象:拥有相同属性的行为和属性的对象都可以抽出一个类;一般的方法都是类
实例对象:当创建一个对象时,就是用一个模子,来创造一个实物。

面向对象的理解:
面向对象是一种设计思想
1.符合人们的思考习惯
2.把执行者变成指挥者
3.简化功能,把复杂的事情简单化

想完成一个事,找具有这样功能的对象
如果能找到,调用这个对象的功能,完成这个事
如果找不到,创建具有这样功能的对象,再调用完成这个事

面向对象有三大特征:
1.封装
2.继承
3.多态

面试题:
1、你对面向对象的理解
2、面向对象的特征是什么
3、对封装的理解?
封装,类本身就是一个封装,封装了属性和方法。方法也是封装,对一些业务逻辑的封装。私有也是封装,将一些方法和属性私有化,对外提供可访问的接口。
4、对继承的理解
将共性的内容放在父类中,子类只需要关注自己特有的内容,共性的继承过来就行了。
这样简化开发,符合逻辑习惯,利于扩展。
5、多态的理解
多态,一个对象在不同的情况下显示不同的形态。在python中因为是弱类型语言,对类型没有限定,所有python中不完全支持多态,但是多态的思想呢,python也是能体现的。

猜你喜欢

转载自blog.csdn.net/qq_34663267/article/details/81709477
今日推荐