找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
一、面向对象的基本概念
类(class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
实例化:创建一个类的实例,类的具体对象。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
方法:类中定义的函数。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
方法重写:
如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

二、定义和使用类
在Python中,可以使用class关键字来声明一个类,基本语法如下:
class People(object): #新式类
def __init__(self,name): #构造函数又称为构造方法
self.name = name
p = People('xiaowang')#创建一个对象p

三、根据类创建对象
对象是类的实例,我们把人类理解成一个类的话,那么在人类中的具体的一个人就成了这个类的一个对象,所以说只要在类中定义了对象才能使用类。
创建对象方法如下:
对象名=类名()
class People: #经典类
def __init__(self,name): #构造函数又称为构造方法
self.name = name #实例变量
p = People('xiaowang') #创建一个对象p
名词解释:
1、定义类的时候__init__是一个构造函数,该函数是两个下划线开头和两个下划线结束,其作用就是当创建类的对象和实例时系统会自动调用构造函数,通过构造函数对类进行初始化操作
2、定义类的时候__init__方法中有一个参数self,这也是类中的方法与普通函数的区别,类的中的方法必须有一个参数self,而且位于参数列表的开头,在类中self就是代表类的当前类的实例(对象)自身,在python调用时无需传值,python会将对象自动传给self接受

四、类中的类变量、实例变量
在整个类里面有的属于类的,有的属于对象的,那么属于类的属性叫类变量,属于对象的属性叫做实例变量。
class People(object):
head = 1 #类变量
def __init__(self,name):
self.name = name #实例变量
p = People('xiaowang')#创建对象
class People(object):
def __init__(self,name):
self.name = name #实例变量
def play(self): #实例方法
print(self.name + '打篮球')
p = People('xiaowang')#创建对象
People.play() #类调用实例方法
p.play() #对象调用实例方法

五、类中的实例方法、动态方法、静态方法
@classmethod#类方法
def func1(cls):
cls.name1 ='我是一个类方法' #定义一个类变量
print (cls.name1)

@staticmethod#静态方法
def func2():
print ('我是一个静态方法')

六、类的三大特性
封装特性
1、类里面不光有属性还有方法。
2、这种将属性通过方法直接在类内部操作的形式叫做封装。这里的封装是把属性封装在类内部。

继承特性
1、继承:类的继承是面向对象程序设计的一个重要思想,继承时子类可以继承父类的内容,包括成员变量和成员函数。
2、在继承中一个类被另外一个类继承这个类称之为父类也称之为基类,则另外一个类则为子类也称之为派生类。

多态特性
1、多态是以继承和重写父类方法为前提,对所有子类实例化产生的对象调用相同的方法,执行产生不同的执行结果。
2、例如同样是人,但是当问起一个人的职业时会有不同的结果,可能是软件测试工程师,可能是HR
3、一个对象的属性和行为不是由他所继承的父类决定的,而是由其本身包含的属性和方法决定的。




分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册