一、什么是面向对象
应用在编程中,是一种开发程序的方法,它将对象作为程序的基本单元。
二、面向对象的优缺点:
优点:解决了程序扩展性差的问题
缺点:可控性差,无法预测最终结果
在开发大型项目时就应用面向对象思想
三、过程与函数:
过程: 类似于函数,只能执行,但是没有返回值
函数: 不仅能执行,还可以返回结果
四、定义只包含方法的类:
class 类名:
def 方法1(self,参数列表):
pass
def 方法2(self,参数列表):
pass
定义类的注意事项:
1.定义类用class关键字
2.类名的命名规则:符合大驼峰命名法
五、创建对象:
对象变量 = 类名()
下面写一个短案例:
小猫爱吃鱼,小猫要喝水。
class Cat:
def eat(self):
print("%s爱吃鱼",%self.name)
def drink(self):
print("%s要喝水",%self.name)
Tom = Cat()
Tom.name = "Tom"
Tom.eat()
Tom.drink()
六、初始化方法:
_ init _()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法
在初始化方法内部定义属性
class Cat:
def __init__(self):
print("这是一个初始化方法")
# 定义Cat类创建猫对象都有一个name的属性
self.name = "Tom"
def eat(self):
print("%s爱吃鱼"%self.name)
# 使用类名创建对象的时候,会自动调用初始化方法__init__
Tom = Cat()
Tom.eat()
输出结果如下:
这是一个初始化方法
Tom爱吃鱼
七、内置方法和属性:
内置方法:
表示为:前后两个下划线_ _xx _ _
如: _ _ init _ _:改造初始化方法
_ _ del _ _:如果希望在对象被销毁前,再做一些事情,可以考虑一下 _ _del _ 方法
** _ str _ _** :希望使用 print 输出 对象变量 时,能够打印 自定义的内容,就可以利用
_ _str _ _ 这个内置方法
注意: _ _str _ _ 必须返回一个字符串。
内置属性:
_ _ dict _ _ : 类的属性(包含一个字典,由类的数据属性组成)
_ _ doc _ _ :类的文档字符串
_ _ name _ _: 类名
八、私有属性和私有方法:
私有属性和方法就是对象不希望被公开的。
表示为: 属性名或者方法名前面增加两个下划线 _ _xx