【循序渐进学Python】面向对象知多少——类和对象
在我们学习完面向对象的封装以后,我们先来学习什么是类?和什么是对象?
类
- 类是在创建这个对象时,所创建的本质是一个类,将类理解为对象的抽象化概念
- 面向对象的语言中想要创建一个对象,就要先创建这个对象所属的类
- 类就是用来模拟现实的事物的
类要模拟现实世界中的事物通常需要通过两个方面来模拟:
- 属性:事物的特征描述信息。用于描述事物的某个特征
- 行为:事物的能力行动方案。用于描述事物能干什么
类的构成
类(class)是由3个部分组成
- 类的名称:类名
- 类的属性:类的内部的一组数据变量
- 类的方法:类内部的一些可以操作的函数(行为)
- 类的属性和方法称之为类的成员
代码中的类
- 类是将一组函数或变量进行封装到一个变量中,类名就是这个变量名,类成员就是这个变量的引用中存放的内容
- 而类的实例化就是对象,那么对象名就是一个新的变量名,对象名之后给的类可以理解为在内存中复制了一个类的引用中的内容
类的定义
定义一个类格式如下
class 类名:
成员(方法)
类的三种形式
经典类
class Person:
pass
class Person():
pass
新式类
class Person(object):
pass
实例
# 定义一个人类
class Person(object):
def func(self):
print("人在塔在,德玛西亚!")
说明
-
定义类的时候有(两类)三种方式:新式类和两种经典类,上面代码中的最后一个Person为新式类 ,前两种是经典类
-
object是Python中所有的类的最顶级父类
-
类的命名规则严格按照大驼峰命名法进行
-
上例中的func是一个实例方法,类里面的方法中的第一个参数一般都是self
-
self表示当前的实例对象自身,当然这个self换为其他的名称也行,其作用是一个变量,这个变量指向了类的实例的对象的引用
函数和方法的区别?
- 函数:是一个代码片段集合
- 方法:类里面的函数称之为方法
对象
- 对象是指类的具体表现,对象是类的具体的属性,行为的体现者
对象的创建
- 至此发现一个问题:在面向对象的编程中如果想要创建对象,则必须先要有类,只有类创建好了,才能创建出需要的对象
创建对象格式
对象名1 = 类名()
对象名2 = 类名()
对象名3 = 类名()
实例
luban = Person()
luban.func()
zhangfei = Person()
zhangfei.func()
liubei = Person()
liubei.func()
注意
-
如果在同一时刻的三个不同变量,赋予了相同的数据,那么这三个变量的引用是同一个引用,都指向了第一个数据存储的引用
-
同一时刻的三个不同变量,赋予了同一个类的三个实例对象,那么这一个类的三个实例对象引用肯定不相同
-
一个类实例出来的所有对象肯定不是同一个对象
实例化的定义:
针对于基于某个类产生的对象,我们讲这个对象称之为类的实例化
总结
类:抽象的概念,是一张蓝图
对象:具体的实现,是一个真正的作品