本章主要总结了python的面向对象编程,包括了类,对象,方法,继承,多态,设计模式(工厂模式、单例模式),异常
类和对象
类的定义
实例:定义一个Car类
```python
#定义类
class Car:
#方法
def getCarInfo(self):
print("我是一个车类")
```
在创建方法是,会有一个self参数,那什么是self?
所谓self就是对象自己的意思,当某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,类似于C++中this指针一样。
创建对象
实例:定义一个Person类,并创建它的对象
```python
class Person:
def getPerson(self):
print("我是一个Person类")
per = Person() #创建一个对象,用per保存
per.name='小王' #给对象创建一个属性
per.getPerson() #调用对象的方法
print(per.name)
```
_ init _ 方法
什么是 _ init _ 方法?
_ init _ 方法就是在创建对象后,就立刻默认调用
我们来看一个实例:
```python
class Person:
def __init__(self):
self.name = '小王'
self.sex = '男'
self.age = 23
def getPerson(self):
print("我是一个Person类")
per = Person()
print("名字:%s"%per.name)
print("性别:%s"%per.sex)
print("年龄:%s"%per.age)
```
运行结果:
在上面一个实例中,在没有调用 _ init _ 方法下,创建per对象后就立刻调用 _ init _ 方法,那么能不能在 _ init _ ()方法里传递一些参数呢,我们再来看一个对上一个改进后的实例
```python
class Person:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
def getPerson(self):
print("我是一个Person类")
per = Person('小王','男',23)
print("名字:%s"%per.name)
print("性别:%s"%per.sex)
print("年龄:%s"%per.age)
```
输出结果:
更多内容请看python面向对象