面向对象day19
一、什么是面向对象编程
面向对象编程核心是对象二字,对象是特征与技能的结合体,基于该思想编写程序就好比是在创造一个世界,你就是这个世界的上帝,是一种上帝式的思维方式。
优点:可扩展性强
缺点:编程的复杂度要高于面向过程
二、类、种类、分类、类别
对象:是特征与技能的结合体
类:是一系列对象相似特征与技能的结合体
强调:站的角度不同,总结出来的类是截然不同的
现实中:先有具体的对象,随着世界的发展有了分类的概念
程序中:必须先定义类,然后调用类产生对象
三、基本介绍
1、先定义类
class OldBoyStudent: school='oldboy' def choose_course(self): print('is choosing course')
强调:类名定义用驼峰体
类体代码会在类定义阶段立即执行,会产生一个类的名称空间(python为我们提供了专门访问属性(名称空间中名字)的 语法)点后面的都是属性(OldBoyStudent.__dict__指向类名称空间,字典形式)
类本质就是一个容器/名称空间,是用来存放名字的,这是类的用途之一
2、实例化过程
调用类产生对象,调用类的过程又称为类的实例化,实例化的结果称为类的对象/实例
现实世界中总结对象→抽取相似之处,得到现实世界中的类→定义为程序中的类→调用类产生程序中对象
类中定义的函数是类的函数属性,类可以使用,但使用时就是一个普通的函数而已,意味着需要完全遵循函数的参数原则,该传几个参数就传几个