目录
面向对象基础 一、面向对象和面向过程 二、类与对象 三、产生对象 四、一切皆对象面向对象基础
一、面向对象和面向过程
面向过程: 优点:复杂问题流程化,进而简单化 确定:可扩展性差 面向对象: 优点:可扩展性高 缺点:编写复杂度高于面向过程二、类与对象
类即类别、种类,是面向对象设计最重要的概念,对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体。
那么问题来了,先有的一个个具体存在的对象(比如一个具体存在的人),还是先有的人类这个概念,这个问题需要分两种情况去看。
在现实世界中:先有对象,再有类。
世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,如人类、动物类、植物类等概念。
也就说,对象是具体的存在,而类仅仅只是一个概念,并不真实存在。
在程序中:务必保证先定义类,后产生对象。
这与函数的使用是类似的,先定义函数,后调用函数,类也是一样的,在程序中需要先定义类,后调用类。
不一样的是,调用函数会执行函数体代码返回的是函数体执行的结果,而调用类会产生对象,返回的是对象。
定义类: class关键字 类名: pass 产生对象: 对象 = 类名() 类: 获取类的属性和方法:类.__dict__ 类来调用属性和方法: 通过dict来取(复杂,不建议使用) 类名.属性/函数 对象: 对象获取属性和方法:对象.__dict__ 对象来调用属性和方法:对象.属性/方法三、产生对象
绑定方法,属性的查找顺序
属性的查找顺序:
先从对象自身找--->类中找--->报错
对象赋属性:
方式一:
加入有一个学生类,给他一个名字
stu = Student()
stu.name = ‘sb‘
方式二:
在类中定义该方法,方法上写一些参数 在对象实例化产生对象的时候,在括号内传入值,会被传入到__init__中绑定方法:
定义在类的内部 对象来调用,会自动把对象传送过来,在方法内部就可以进行修改该对象。强调__init__
__init__方法 为对象初始化自己独有的特征 强调: 1、该方法内可以有任意的python代码 2、一定不能有返回值
python中类内置的特使属性
#python为类内置的特殊属性 类名.__name__# 类的名字(字符串) 类名.__doc__# 类的文档字符串 类名.__base__# 类的第一个父类(在讲继承时会讲) 类名.__bases__# 类所有父类构成的元组(在讲继承时会讲) 类名.__dict__# 类的字典属性 类名.__module__# 类定义所在的模块 类名.__class__# 实例对应的类(仅新式类中)
四、一切皆对象
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did172384