Python的核心是面向对象,因此Python支持所有面向对象的特征,如封装、继承、多态等。封装的要点是对外隐藏实现的细节,使用类来实现。继承的目的是扩展类,在父类的基础上添加新的属性和方法而生成新类。多态的的核心是不同类的对象调用相同的方法时,会根据对象类型的不同而表现出不同的行为。
面向对象概述
程序设计技术分为面向过程程序设计和面向对象程序设计。
面向过程程序设计方法的特征是以算法(功能)为中心,程序=算法+数据结构,算法和数据结构之间的耦合度很高。因此,当数据结构发生变化后,所有与数据结构相关的语句和函数都需要修改,给程序员带来很大负担。同时,软件具有安全性差、可重用性差等缺点。
面向对象程序设计(Object Oriented Programming,OOP)是将软件结构建立在对象上,而不是功能上,通过对象来逼真地模拟现实世界中的事物,使计算机求解问题更加类似于人类的思维活动。面向对象使用类来封装程序和数据,对象是类的实例。以对象作为程序的基本单元,提高了软件的重用性、灵活性和扩展性。
面向对象具有三大基本特征:封装、继承和多态。
封装是面向对象的特征之一,主要包括对象和类。
类是具有相同属性和行为的一组对象的集合。在面向对象的编程语言中,类是一个独立的程序单位,由类名来标识,包括属性定义和行为定义两个主要部分。
对象是系统中用来描述客观事物的一个实体。它是一组属性和有权对这些属性进行操作的一组行为的封装体。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。
继承是在现有类的基础上通过添加属性或方法来对现有类进行扩展。通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。继承的过程,就是从一般到特殊的过程。
在软件开发中,类的继承性使软件具有开放性、可扩充性,并简化了对象、类的创建工作量,增加了代码的可重用性。
多态是指相同的操作、方法或过程可作用于多种类型的对象上并获得不同的结果。即不同的对象,收到同一消息,可以产生不同的结果。多态性增强了软件的灵活性和重用性。