面向对象编程
面向对象编程
面向对象编程:Object Oriented Programming,简称OOP,是一种程序设计方法。
面向对象面向过程区别
完成自我介绍功能,面向过程完成功能
stu_a ={
"name":"python"
"age":20,
"hometown":"天津"
}
stu_b ={
"name":"Java"
"age":19,
"hometown":"北京"
}
stu_c ={
"name":"C语言"
"age":20,
"hometown":"河北"
}
def stu_info(stu):
#自我介绍
for key,value in stu.items():
print("key=%s,value=%d"%(key,value))
stu_info(stu_a)
stu_info(stu_b)
stu_info(stu_c)
接下来我们用面向对象的思想来完成功能
stu_a =Student(个人信息)
stu_b =Student(个人信息)
stu_c =Student(个人信息)
stu_a.info()
stu_b.info()
stu_c.info()
文件读写
f =open(path,'r')
f.read()
f.close()
面向过程:根据业务逻辑从上到下写代码,要面面俱到都要思考到
面向对象:将数据与函数绑定到一起,进行封装。减少重复代码的重写过程,找一个能完成这个功能的队友来完成。
面向对象和面向过程都是解决问题的一种思路而已。
概念及术语
- 类(Class):用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。其中的对象被称作类的实例。
- 实例:也称对象。通过类定义的初始化方法,赋予具体的值,成为一个"有血有肉的实体"。
- 实例化:创建类的实例的过程或操作。
- 实例变量:定义在实例中的变量,只作用于当前实例
- 类变量:类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
- 数据成员:类变量、实例变量、方法、类方法、静态方法和属性等的统称。
- 方法:类中定义的函数。
- 静态方法:不需要实例化就可以由类执行的方法
- 类方法:类方法是将类本身作为对象进行操作的方法。
- 方法重写:如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写,这个过程也称override。
- 封装:将内部实现包裹起来,对外透明,提供api接口进行调用的机制
- 继承:即一个派生类(derived class)继承父类(base class)的变量和方法。
- 多态:根据对象类型的不同以不同的方式进行处理。