python 面向对象

本文介绍了Python中的面向对象编程,包括类的定义、封装、继承和多态等概念。通过实例解析了如何创建类、使用封装保护变量、实现继承以及理解和使用类属性和实例对象属性。还探讨了动态修改类属性和方法。
摘要由CSDN通过智能技术生成

前言

面向对象是一种编程思想,与面向过程相对应。

面向过程是分析解决问题所需的步骤,用函数实现每个步骤,最后从头到尾依次调用。
面向对象是把问题分派给多个人,让每个人完成自己应做的任务,最后选择合适的人和顺序来解决问题。

面向过程的优点是按步骤、逻辑清晰,但在复杂庞大的项目中效率低下。
面向对象增加了程序的可扩展性,但同时也使开发人员不易预知对象之间的交互结果。

面向对象包含继承、封装、多态三个特征。

1. 面向对象的基础——类

类是描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

定义一个类

  • class People(object):
    People是自定义的类名,首字母大写
    object是所有类默认继承的父类,可省略
  • __new__(cls)
    定义类时,默认加载new方法。
    创建一个类对象的地址,并返回给实例对象
  • __init__(self)是初始化方法/构造函数,用于初始化实例对象的变量。
    其中self指的是实例对象,设置self.name可在整个类中使用
  • 创建实例对象
    a = People("张三", 20, "男")
    a是自定义的People类的实例对象
class People:
	# new方法,创建地址并返回给实例对象
	def __new__(cls):
    	return super().__new__(cls)
	
    # 初始化方法/构造函数,初始化数据属性
    def __init__(self, name, age=None, gender=None):
        self.name = name
        self.age = age
        self.gender = gender

    def eat(self):
        print(f"{self.name}吃饭")


# 创建实例对象
a = People("张三", 20, "男")
b = People("李四", 25, "女")

示例

要求:设计“老张开车去东北”

分析:面向对象是将一个问题分派给多个对象去完成。

  1. 首先确定对象:人、车、地点,创建三个类People、Car、Place

  2. 再确定每个对象的属性和任务:

人:姓名——开车

class People:
    def __init__(self, name):
        self.name = name

    def drive(self, car, place):
        print(f"{self.name}开车")

车:品牌/速度——行驶

class Car:
    def __init__(self, brand, speed):
        self.brand = brand
        self.speed = speed

    def move(self):
        print(f"{self.name}行驶ing..."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值