【python】面向对象程序设计(基础篇)

简介: 【python】面向对象程序设计(基础篇)

一.特点

1.封装
类是一个模板,将多个对象的类似属性放在一个模板中,这就是封装。避免了外部对内部数据的影响,提高了程序的维护性。

2.继承
继承是用来实现代码复用和设计复用的机制,是面向对象程序设计的重要特性之一。设计一个新类时,如果可以继承一个已有的设计良好的类然后进行二次开发,会大幅减少开发工作量。

3.多态
一般是指父类的一个方法在不同派生类对象中具有不同表现和行为。派生类在继承了父类的行为和属性之后,还可能增加某些特定的行为和属性,也可能会对继承父类的行为进行一定的改变,这些都是多态的表现形式。

二、类与对象

1.类的定义
使用class关键字来声明一个类,基本格式如下:

class 类名:

    "类体说明"    #类的功能等进行说明

     类成员

     方法成员

类是由3部分组成的:

类的名称:用关键字class声明类,类名首字母一般大写,比如Dog。

类的数据属性:用来存储特征的值(体现对象的特征),简称为成员。如:名字、年龄。

类的方法属性:用来对成员进行操作(体现对象的行为),简称为方法。如:学习、睡觉。

类体说明:对类的功能等进行说明。

2.对象的创建和使用

使用类中定义的成员和方法,必须对类实例化,即创建类的对象,根据类创建实例对象的语法格式如下:

实例名(对象名) = 类名([参数列表] )

访问实例成员,可以通过如下方式:

实例名 .成员 、 实例名 .方法() ,其中“.”叫做成员运算符。

要想给实例添加成员,可以通过如下方式:

实例名.新的成员名 = 值

举例
代码

定义类.

class Car:
  #定义构造方法.
  def __init__(self,name):
    self.name = name
  #定义方法.
  def getName(self):
    return self.name
#创建对象.
c1 = Car("迈巴赫")
print("这辆汽车的名字:",c1.getName())

执行结果

image.png

3.类的成员

1.数据成员
用来存储特征值(体现实例对象的特征)。

2.方法成员
用来对数据成员进行操作(体现实例对象的行为)。

3.成员类型
按照归属于类还是实例对象,类的数据成员可分为两种:

1.类成员

定义在类体中,且在类的所有方法之外的数据成员,类成员属于类本身,一般通过类名.成员名调用,不建议使用“实例名.成员”名调用。

2.实例成员

在类的某个方法中定义的数据成员为实例成员。
实例成员只能通过实例名.成员名被实例对象调用。
实例成员一般在构造方法__init__()中创建,也可以在其他方法中创建。
按照能否在类的外面直接访问,类的成员可分为两种:

1.公有成员

公有成员不以下划线开头,在类的内部可以访问,在类的外部也可以访问
2.私有成员

在类的外部不能直接访问,只能在类的内部访问,或在类的外面通过对象的公有方法访问(不提倡)
_xxx:受保护成员(Protected),成员名以单下划线开始,类和派生类可以访问这些成员,在类的外面一般不建议直接访问。
__xxx:私有成员(Private),成员名以双下划线开始,不能以两个或更多下划线结束,只有类自己可以访问,子类不能直接访问到这个成员,但在外部可以通过“对象名._类名__xxx”这样的特殊方式来访问。
3.内置成员

所有的类(无论是系统内置的类还是自定义类)都有一组特殊的成员,其前后各有两个下划线类似:"__xxx__",常见的内置成员如下:

__name__:类的名字,用字符串表示。
__doc__:类的文档字符串。
__bases__:由所有父类组成的元组。
__dict__:由类的成员组成的字典。
__module__:类所属模块。
注意事项

1.当用对象名调用类成员时, “对象.类成员”只是“类.类成员”的一份拷贝。当修改“对象.类成员”时, “类.类成员”的值不变。

2.当类成员和实例成员同名时:在类的方法内和类的外面,“类名.类成员”调用的是类成员;在类的方法中“self.实例成员” 或在类的外面“对象名.实例成员” 调用的是实例成员。(在类的方法内,和实例成员同名的类成员被屏蔽)

3.定义在类的方法中且不以self为前缀的变量是该方法的局部变量,不能在方法外使用,也不能在类的外面调用。

相关文章
|
3月前
|
Java 程序员 C++
Python 面向对象详解!
本文详细介绍了Python中的面向对象编程(OOP),包括类、对象、继承、封装、多态和抽象等核心概念。通过具体示例,解释了如何使用类定义对象的属性和方法,以及如何通过继承实现代码重用。文章还探讨了封装和多态的重要性,并介绍了私有属性和抽象类的使用方法。最后,总结了OOP的四大支柱:封装、抽象、继承和多态,强调了这些概念在Python编程中的应用。适合Java程序员扩展Python编程知识。
91 2
|
1月前
|
关系型数据库 开发者 Python
Python编程中的面向对象设计原则####
在本文中,我们将探讨Python编程中的面向对象设计原则。面向对象编程(OOP)是一种通过使用“对象”和“类”的概念来组织代码的方法。我们将介绍SOLID原则,包括单一职责原则、开放/封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则有助于提高代码的可读性、可维护性和可扩展性。 ####
|
5月前
|
Python
你真的会面向对象吗!解密Python“魔术方法”
你真的会面向对象吗!解密Python“魔术方法”
59 0
|
3月前
|
Python
Python面向对象(2)
【10月更文挑战第14天】
Python面向对象(2)
|
3月前
|
设计模式 程序员 C语言
Python面向对象
【10月更文挑战第13天】
Python面向对象
|
4月前
|
前端开发 Python
Python编程的面向对象有哪些(二)
Python编程的面向对象(二)—类的多态
33 7
|
4月前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象
|
3月前
|
Python
Python编程-关于面向对象的一些
Python编程-关于面向对象的一些
26 0
|
5月前
|
安全 算法 Go
Python面向对象的三大特性
python面向对象编程(OOP)的三大特性是封装、继承和多态。这些特性共同构成了OOP的基础,使得软件设计更加灵活、可维护和可扩展。
57 3
|
6月前
|
数据采集 Java C语言
Python面向对象的高级动态可解释型脚本语言简介
Python是一种面向对象的高级动态可解释型脚本语言。
55 3

热门文章

最新文章