面向对象编程介绍
面向对象:核心就是对象二字
对象就是特征与技能的结合体
优点:可扩展性强
缺点:编程复杂度高
应用场景:用户需求经常变化,互联网应用,游戏,企业内部应用
定义类与实例化输出对象
类就是一系列对象相似的特征与技能的结合体
强调:站在不同角度,得到的分类是不一样的
在现实世界当中:一定是现有对象,后有类
在程序中:一定得先定义类,后调用类来处理对象
站在路飞学院的角度,大家都是学生
在现实世界中:
对象1:王二丫
特征:
学校=‘luffycity'
名字=’王二丫‘
性别=’女‘
技能:
学习
吃饭
睡觉
对象2:李三
特征:
学校=‘luffycity'
名字=’李三‘
性别=’男‘
技能:
学习
吃饭
睡觉
对象3:李四
特征:
学校=‘luffycity'
名字=’李四‘
性别=’男‘
技能:
学习
吃饭
睡觉
总结现实中路飞学院的学生类
相似的特征
学校=‘luffycity'
相似的技能
学习
吃饭
睡觉
#先定义类
class LuffyStudent:
school = 'luffycity'
def learn(self):
print('is learning')
def eat(self):
print('is eating')
def sleep(self):
print('is sleeping')
#后产生对象
stu1 = LuffyStudent()
stu2 = LuffyStudent()
stu3 = LuffyStudent()
print(stu1)
print(stu2)
print(stu3)
如何使用类
#先定义类
class LuffyStudent:
school = 'luffycity'#数据属性
def learn(self):#函数属性
print('is learning')
def eat(self):#函数属性
print('is eating')
def sleep(self):
print('is sleeping')
# print('run')
# #查看类的名称空间
# print(LuffyStudent.__dict__)
# print(LuffyStudent.__dict__['school'])
# print(LuffyStudent.__dict__['learn'])
#查
print(LuffyStudent.school) #print(LuffyStudent.__dict__['school'])
print(LuffyStudent.learn)
#增
LuffyStudent.country ='china'
#print(LuffyStudent.__dict__)
print(LuffyStudent.country)
#删
del LuffyStudent.country
#改
LuffyStudent.school='Luffycity'
如何使用对象
#__init__方法用来为对象定制对象自己独有的特征
#先定义类
class LuffyStudent:
school = 'luffycity'
# stu1,'王二丫','女',18
def __init__(self,name,sex,age):
self.Name = name
self.Sex = sex
self.Age = age
#stu1.Name='王二丫'
# stu1.Sex = '女'
#stu1.Age = 18
def learn(self):
print('is learning')
def eat(self):
print('is eating')
def sleep(self):
print('is sleeping')
#后产生对象
stu1 = LuffyStudent('王二丫','女',18) #2、LuffyStudent.__init__(stu1,'王二丫','女',18)
#加上__init__方法后,实例化的步骤
#1、先产生一个空对象
#2、LuffyStudent.__init__(stu1,'王二丫','女',18)
#print(LuffyStudent.__init__)
#查
print(stu1.__dict__)
print(stu1.Name)
print(stu1.Age)
print(stu1.Sex)
#改
stu1.Name='李'
print(stu1.__dict__)
print(stu1.Name)
#删
del stu1.Name
print(stu1.__dict__)
#增
stu1.calss_name = 'python'
print(stu1.__dict__)
stu2=LuffyStudent('CANDY','女',11)
print(stu2.__dict__)
print(stu2.Name)
print(stu2.Age)
print(stu2.Sex)