编程语言应用

首页 » 常识 » 常识 » Python语言基础什么是面向对象编
TUhjnbcbe - 2023/7/27 21:55:00

前面说了Python也支持面向对象编程,那什么是面向对象编程呢?

上个比较正式的说法:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。

举例(下文同),我们把仓库的一个个纸箱看做是类,纸箱的颜色大小等等看成是类中包含的成员变量(类的属性),纸箱可以装东西、打开取东西等操作看成是成员方法(类的函数),这样,我们仓库只要操作具体的纸箱(面向对象)就好,有东西来就用(调用)纸箱装。

面向对象编程其实是结合了人类思维方式和计算机的工作方式,就像我们常说的“专业的事找专业的人”一样,面向对象编程把要处理的事物封装成一个类,然后赋予这个类属性和方法,那我们根据类的继承和多态特性就不用每次生成都写一串代码,而是可以直接调用这个类生成一个对象(具体化实例化的类),多个对象的协同工作可以使我们构造出复杂的程序。

类和对象,正如上文稍微提到的,对象是类的具体化和实例化的东西,类相当于一个框架,而每次调用时实例化出一个对象。

面向对象的特点:1.封装:将数据或者数据操作的代码封装在一起,用接口的形式来访问(调用);2.继承:每个类都有自己的初始属性和方法,每次调用实例化一个对象时都会继承复制这些属性方法;3.多态:尽管类框架都是相同的,但是每次调用都会生成一个具体化的对象,这些对象都是相互独立的。

以下面的例子来介绍类框架的定义、调用,以及可访问性的设置。创建一个类Box,它具有两个属性(尺寸、颜色),具有两个方法(打开、合上),如下:

1.类的定义好和调用

classBox:#__init__可以为对象设置初始的属性#self是必不可少的,理解为示例化的对象本身def__init__(self,size,color):self.size=sizeself.color=colordefopen_box(self):#这里的self.size相当于调用对象本身的属性print(取出%s号箱子%self.size)defclose_box(self):print(合上)

1
查看完整版本: Python语言基础什么是面向对象编