什么叫做面向对象:
就是把编程当作一个事物,直接去用,不考虑中间的过程,可与面向过程做比较理解;
打个比方:
例如:肚子饿了,想吃饭
面向过程:
去超市---买菜---卖肉---买米---回家---洗菜---切肉---炒菜---煮米饭---盛饭---开吃
面向对象:点外卖
类和对象:
类是抽象的,对象是真实存在的
类与对象的关系好比玩具拼图说明书和拼装好的玩具模型,以赛车为例,类就是赛车的拼图说明,对象就是拼好的赛车实物;
类一般具有属性或方法,所以对象也必须具有属性或者方法;对象的属性就好比上面拼好的赛车玩具的功能,比如:跑等等;而对象的属性就是赛车玩具的颜色,大小等等
创建类与创建对象:
创建类:
点击查看代码
class 类名():
代码
pass
eg:
class Student():
__xh = 1 # 属性前面加两个下划线代表私有属性,不可在类外面调用修改
name = "张三"
def love(self):
print("我会唱歌")
创建对象:
点击查看代码
语法:# 变量名 = 类名()
# 以上面的Student类为例:
func = Student()# 创建对象
func.love()# 调用对象里面的方法
对象的初始化与返回值:
init() :初始化对象
init下有初始化的属性时,实例化对象也要传参:
点击查看代码
class My_Phone():
def __init__(self,width,heigth):
self.width = width
self.heigth = heigth
def apple_phont(self):
print("苹果手机的宽为:",self.width)
print("苹果手机的高为:",self.heigth)
apple = My_Phone(10, 20)
apple.apple_phont()
str()相当于类的返回值:
在类下面写__str__()方法,打印类即会打印__str__()里面的内容:
点击查看代码
class Demo():
def __init__(self, width, heigth):
self.width = width
self.heigth = heigth
def __str__(self):
return f"你这个手机的宽是{self.width},高度是{self.heigth}"
a = Demo(10,20)
print(a)