明确面向过程与面向对象的概念
经典故事:将大象放进冰箱
面向过程的思想:
1、将冰箱打开
2、将大象放入冰箱
3、关闭冰箱门
这种思想,关注的是完成事情的过程
面向对象的思想:
1、冰箱打开
2、冰箱存储大象
3、冰箱关闭
这种思想,关注的是如何找到一个对象去完成事情
明确类与对象的概念
对象:保时捷、宝马、奔驰、大众
类:车
简单点说,对象是类的具体体现形式;
类是抽象的,将具象化的事物(对象)进行抽象描述所得来的产物
先有类,后有对象
对象是类中具体的某一个,类中具备的特点,对象都有
面向对象:类
Driver:
司机类:
类的组成:
属性:
姓名,工号,公司,价格
行为:
开车
系统类:
自定义类:
用面向对象的思想分析绝地求生

面向对象:
核心: 类
创建类的语法:
找代驾开车
class 类名():
#属性
# 行为,能力,动态特征,方法
def 方法名(self,其他参数...):
pass
创建对象语法:
变量名 = 类名()
调用对象方法的语法:
对象名.方法名()
class Driver():
def drive_car(self):
print("1、踩离合")
print("2、打火")
print("3、挂档")
print("4、松离合给油")
print("滴滴滴,一起去嗨皮")
# class Girl():
# pass
# class Car():
# pass
# class Plane():
# pass
# 面向过程
# print("1、踩离合")
# print("2、打火")
# print("3、挂档")
# print("4、松离合给油")
# print("滴滴滴,一起去嗨皮")
# 面向对象
# 1.找到一个对象(创建对象)
# list1 = [1,2,3]
#创建一个对象,将对象存储到driver1中
driver1 = Driver()
# 2.让对象开车走 调用对象的方法
driver1.drive_car()赋属性值得两种方式
1、类实例化后再赋予属性
2、类初始化就有属性
"""
创建对象,拥有默认属性:
__init__()方法的使用
"""
class Driver():
#增加一个方法
def __init__(self,id,name):
print("我是init方法")
# 给自己加属性
self.id = id
self.name = name
def drive_car(self):
print("工号:%d %s为您服务"%(self.id,self.name))
print("1、踩离合")
print("2、打火")
print("3、挂档")
print("4、松离合给油")
print("滴滴滴,一起去嗨皮")
# 创建对象
driver1 = Driver(1001,'黄师傅')
# 创建完对象,然后再赋值也是可以的
# driver1.eat='榴莲'
# 2.让对象开车走 调用对象的方法
driver1.drive_car()
# print(driver1.eat)
driver2 = Driver(1002,'于师傅')
driver2.drive_car()
# print(driver2.eat)
私有属性:
只能内部访问,外部无法访问的属性
语法: __属性名(双下划线)
如果某个属性定义成了私有的:
为属性提供对应的两个方法:
getAge(self):
return self.__age
setAge(self,age):
if :
self.__age = age
class Student():
def __init__(self,name,age,gender):
self.name = name
self.setAge(age)
# self.__age = age
self.gender = gender
#对私有属性提供设置值以及获取值的方法
def getAge(self):
return self.__age
def setAge(self,age):
if 0 < age < 120:
self.__age = age
else:
print("年龄设置范围不合理,默认为0")
self.__age = 0
def study(self):
print("学习使我快乐,一天不写代码会死")
def playGame(self):
print("玩把游戏,嗨皮一下")
def sleep(self):
print("闭上眼睛就睡觉,感觉在打雷")
def eat(self):
print("吃饭使我快乐")
def introduce(self):
print("我叫:%s 性别:%s 年龄:%d"%(self.name,self.gender,self.__age))
#创建对象
stu1 = Student("胡了",1800,'男')
#获取属性值
# print(stu1.name)
# #设置值
# stu1.name = '宋行'
# print(stu1.name)
# stu1.introduce()
# stu1.age = 1000
# # stu1.age = -10
# stu1.introduce()
#私有属性无法在外部访问
# print(stu1.__age)
# stu1.setAge(30)
# print(stu1.getAge())
stu1.introduce()over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有