1、文字描述 类属性、实例属性的区别。
实例属性:是只属于当前这个一个实例对象的。私有化,专属个人的。
类属性:是属于每一个对象的,都一样,只有一份。共有化,不专属一个人。
2、写代码创建类属性和实例属性并注释指明是类属性还是实例属性。
3、文字描述 类方法、实例方法、静态方法的区别。、
类方法:需要@ classmethod 修饰并且有个隐藏参数 cls
实例方法:必须有个参数 self
静态方法:必须有 @staticmethod修饰
区别:类和实例都可以访问静态方法,实例可以访问实例方法也可以访问类方法,类可以访问类方法也可以访问实例方法,访问实例方法必须要带参数 self,可以理解为类其实也是一个实例,类访问实例方法不带参数会报错的,类本身可以访问函数,实例却不行。
4、写代码创建类方法、实例方法、静态方法并注释指明是类方法、实例方法、静态方法。
5、文字说明,你对面向对象的理解。
面向对象是基于万物皆对象这个哲学观点。把一个对象抽象成类,具体上就是把一个对象的静态特征和动态特征抽象成属性和方法,也就是把一类事物的算法和数据结构封装在一个类之中,程序就是多个对象和互相之间的通信组成的。
面向对象具有封装性,继承性,多态性。封装隐蔽了对象内部不需要暴露的细节,使得内部细节的变动跟外界脱离,只依靠接口进行通信。封装性降低了编程的复杂性。通过继承,使得新建一个类变得容易,一个类从派生类那里获得其非私有的方法和公用属性的繁琐工作交给了编译器。而继承和实现接口和运行时的类型绑定机制所产生的多态,使得不同的类所产生的对象能够对相同的消息作出不同的反应,极大地提高了代码的通用性。
总之,面向对象的特性提高了大型程序的重用性和可维护性。
6、文字说明面向对象的三大特征是什么?怎么理解。
封装:
类是一种封装,将属性和方法封装。
函数也是一种封装,将具有一定共的逻辑代码封装到一个函数中,使用的时候调用即可。提高代码的扩展性。
继承:
将公共的(共性的)属性和方法放在父类中,子类只关注自己特有的属性和方法。提高代码的扩展性。
多态:
一个对象在不同的情况下,具有不同的形态,用于强类型语言。是使用在继承和接口中实现。提高代码的扩展性。