什么是面向对象,以及如何定义对象,实例化对象

时间:2022-08-28 19:14:00

什么是对象:
对象就是特征与技能的结合体,(孙悟空有特征,有技能,可以看做一个对象)
什么是面向对象:
面向对象,核心是对象二字,自己是上帝,以上帝思维方式来解决问题,上帝造物现有一个模板,根据模板早出不同的对象
优点 :相比面向过程可扩展性强.
缺点:编程复杂度高,容易出现过度设计问题
应用场景;需求比较高的程序,游戏,企业应用
什么是类:
类的定义:一系列对象相似的特征与技能结合体
强调:站在不同角度,分类不同

现实世界:先有对象,后有类
在程序:一定是先有类,后调用类来产生对象.

站在路飞角度,大家都是学生
观察现实世界中3个人类,总结特征和技能,总结一系列共有的技能特征
对象1:王二丫
特征:
学校:路飞学校
年龄:18
性别:女
技能:
吃饭
睡觉
学习
对象2:三炮
特征:
学校:路飞学校
年龄:38
性别:男
技能:
吃饭
睡觉
学习
对象3:铁蛋
特征:
学校:路飞学校
年龄:28
性别:男
技能:
吃饭
睡觉
学习
总结现实中相似特征:
学校:路飞学校
相似技能:
吃饭
睡觉
学习
 1 class luffystudty:#class +类名+冒号定义类开头
 2         school="luffycity"  #相似数据属性,特征。
 3 def learn(self):#相似技能
 4     print("learn")
 5 def eat(self):#相似技能
 6     print("eat")
 7 def sleep(self):#相似技能
 8     print("sleep")
 9 
10 
11 # 后产出对象
12 stu1=luffystudty()  #实例化.产生一个对象.调用一次,实例化一次,
13 stu2=luffystudty()
14 stu3=luffystudty()
15 
16 print(stu1)
17 print(stu2)
18 print(stu3)

打印的结果是3个不同的对象object,都是由类luffystudty产生,并且有不同的内存地址

<__main__.luffystudty object at 0x00000174BEDCF908>
<__main__.luffystudty object at 0x00000174BEDCF940>
<__main__.luffystudty object at 0x00000174BEDCF978>