当前位置: 首页 > article >正文

《Python基础》之类的定义、封装、继承

目录

简介

一、类的定义

二、类的封装

三、类的继承

总结


简介

Python 是一种广泛使用的高级编程语言,以其简洁、易读的语法和强大的功能而闻名。在面向对象编程(OOP)中,Python 提供了定义类、封装属性和方法、以及继承等核心概念。本文将深入探讨这些概念,帮助你更好地理解和应用 Python 的面向对象编程。

一、类的定义

在 Python 中,类是对象的蓝图或模板。通过定义类,我们可以创建具有相同属性和方法的对象。类的定义使用 class 关键字,后跟类名和冒号。类中的方法(函数)和属性(变量)定义在类的内部。

class Dog:
    def __init__(self, breed, age, name):
        self.breed = breed
        self.age = age
        self.name = name

    def bark(self):
        print(f"{self.name} 汪汪叫!")

    def run(self):
        print(f"{self.name} 跑来跑去!")

在上面的例子中,我们定义了一个 Dog 类,包含三个属性:breedage 和 name,以及两个方法:bark 和 run__init__ 方法是类的构造函数,用于初始化对象的属性。

二、类的封装

封装是面向对象编程的一个重要概念,指的是将对象的属性和方法隐藏起来,只允许通过特定的接口(方法)来访问和修改。封装有助于保护对象的内部状态,防止外部代码直接修改对象的属性。

在 Python 中,我们可以通过将属性设置为私有(使用双下划线 __ 前缀)来实现封装。私有属性只能在类的内部访问,外部代码无法直接访问。

class Dog:
    def __init__(self, breed, age, name):
        self.__breed = breed
        self.__age = age
        self.__name = name

    # Getter 方法
    def get_breed(self):
        return self.__breed

    def get_age(self):
        return self.__age

    def get_name(self):
        return self.__name

    # Setter 方法
    def set_breed(self, breed):
        self.__breed = breed

    def set_age(self, age):
        self.__age = age

    def set_name(self, name):
        self.__name = name

    def bark(self):
        print(f"{self.__name} 汪汪叫!")

    def run(self):
        print(f"{self.__name} 跑来跑去!")

在上面的例子中,__breed__age 和 __name 是私有属性,外部代码无法直接访问。我们通过 get_breedget_ageget_name 和 set_breedset_ageset_name 方法来访问和修改这些属性。

三、类的继承

继承是面向对象编程的另一个重要概念,允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以重用父类的代码,并且可以添加新的属性和方法,或者重写父类的方法。

在 Python 中,继承通过在定义类时指定父类来实现。子类可以继承父类的所有属性和方法,并且可以添加新的属性和方法,或者重写父类的方法。

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

    def speak(self):
        print(f"{self.name} 发出声音!")

class Dog(Animal):
    def __init__(self, breed, age, name):
        super().__init__(name)
        self.breed = breed
        self.age = age

    def bark(self):
        print(f"{self.name} 汪汪叫!")

    def run(self):
        print(f"{self.name} 跑来跑去!")

class Cat(Animal):
    def __init__(self, color, age, name):
        super().__init__(name)
        self.color = color
        self.age = age

    def meow(self):
        print(f"{self.name} 喵喵叫!")

    def climb(self):
        print(f"{self.name} 爬树!")

在上面的例子中,Dog 和 Cat 类继承了 Animal 类。Dog 和 Cat 类分别添加了新的属性和方法,并且重写了 speak 方法。

总结

Python 的面向对象编程提供了定义类、封装属性和方法、以及继承等核心概念。通过定义类,我们可以创建具有相同属性和方法的对象;通过封装,我们可以保护对象的内部状态,防止外部代码直接修改对象的属性;通过继承,我们可以重用父类的代码,并且可以添加新的属性和方法,或者重写父类的方法。掌握这些概念,将帮助你更好地理解和应用 Python 的面向对象编程。

 

 

 


http://www.kler.cn/a/419038.html

相关文章:

  • 一万台服务器用saltstack还是ansible?
  • Attention显存统计与分析
  • 领养我的宠物:SpringBoot开发指南
  • 【深度学习基础】一篇入门模型评估指标(分类篇)
  • SnowFlake
  • Elasticearch索引mapping写入、查看、修改
  • ubuntu 安装docker-compose
  • PHP操作redis删除指定前缀的key值
  • Apache storm安装教程(单机版)
  • 简单图论农场派对
  • 基于CentOS系统利用Kamailio搭建企业级SIP服务器
  • 青少年编程等级一级 自动打包机问题
  • learning_curve | 学习、理解以及使用学习曲线在评估型性能和诊断模型问题中的使用
  • 基于Matlab实现车牌识别系统(源码+图像)
  • WPF+MVVM案例实战与特效(二十九)- Combox绑定集合、枚举与固定值
  • matlab代码--卷积神经网络的手写数字识别
  • IOC控制反转DI依赖注入(Java EE 学习笔记06)
  • 【RISC-V CPU Debug 专栏 1 -- RISC-V debug 规范】
  • 20241128解决Ubuntu20.04安装libesd0-dev异常的问题
  • Maven 中scope 的provided、compile、runtime、test、system 含义
  • 大数据项目之电商数仓一(用户行为采集)
  • Linux互斥量读写锁
  • spring boot编写注意事项
  • 亚马逊IP关联是什么?
  • 【详细介绍及演示】Flink之checkpoint检查点的使用
  • 单点登录深入详解之技术方案总结