面向对象的概念
- 面向对象也是封装,不过是大封装,注重对象和职责
- 比如植物大战僵尸,一个太阳一个僵尸都是一个类,这个类有自己的属性方法,互不打扰用就调用
- 类就是一个制造图纸,对象就是根据图纸造出来的东西
- 生命类要用大驼峰命名 CatnName
- dir(对象) 可以打印出来有哪些方法
定义类
- 方法 的定义格式和之前学习过的函数 几乎一样
- 区别在于第一个参数必须是 self,大家暂时先记住,稍后介绍 self
- 被使用的类先开发
class 类名:
def 方法1(self, 参数列表):
pass
def 方法2(self, 参数列表):
pass
创建对象
对象变量 = 类名()
引用概念的强调
- %d 可以以 10 进制 输出数字
- %x 可以以 16 进制 输出数字
class Cat:
def eat(self):
print("%s 爱吃鱼" % self.name)
tom = Cat()
tom.name = "Tom"
tom.eat()
lazy_cat = Cat()
lazy_cat.name = "大懒猫"
lazy_cat.eat()
在初始化方法内部定义属性
- 在 init 方法内部使用 self.属性名 = 属性的初始值 就可以 定义属性
- 定义属性之后,再使用 Cat 类创建的对象,都会拥有该属性
class Cat:
def __init__(self):
print("这是一个初始化方法")
self.name = "Tom"
def eat(self):
print("%s 爱吃鱼" % self.name)
tom = Cat()
tom.eat()
内置方法和属性
- del 方法 对象被从内存中销毁前,会被 自动 调用
- str 方法 返回对象的描述信息,print 函数输出使用
私有方法