两种编程思想
- 面向过程
- 面向对象
- 一种更符合我们人类思维习惯的编程思想
- 面向对象开发就是不断的创建对象,使用对象,操作对象做事情
- 复杂的事情
面向对象
- 语言层面,封装代码额数据
- 规格层面,对象是一系列可被使用的公共接口
- 从概念层面,对象是某种拥有责任的抽象
面向对象程序设计规则
- 首先分析有哪些类
- 每个类有哪些属性和行为
- 类与类之间存在的关系
类、实例、方法、变量
- 类(Class):抽象的概念,一类事物。
- 方法:类中定义的函数,对外提供的服务。
- 类变量:类变量在整个实例化的对象中是公用的。
- 实例引用:实例化一个对象。
- 实例变量:以'slef.变量名'的方式定义的变量。
# 创建一个人类
# 通过class关键字,定义了一个类
class Person:
# 类变量
name = "defalt"
age = 0
gender = 'male'
weight = 0
# 构造方法,初始化操作,在类实例化的时候被调用
def __init__(self,name,age,gender,weight):
# self. 变量名的方式,访问的叫实例变量
self.name = name
self.age = age
self.gender = gender
self.weight = weight
# def set_param(self, name):# 可以使用__init__代替
# self.name = name
@classmethod #将方法定义为类方法
def eat(self):
print(f'{self.name} eating')
def play(self):
print(f'{self.name} playing')
def jump(self):
print(f'{self.name} jumping')
# 类变量与实例变量的区别:
# 类变量是需要类来访问的,实例变量需要实例来访问
# 类的实例化,创建一个实例
zs = Person('zhangsan',80,'male', 90)
zs.eat()
# zs.set_param('zhangsan')
print(zs.weight)
# 类变量调用
print(Person.name)
# 类方法和实例方法
# 类方法是不能方位实例方法,如果要访问需要加上装饰器 @classmethod
Person.eat()