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

Python基础笔记17--面向对象(其他)

一、面向对象的三大特性

1、封装

       1、 将属性和⽅法书写到类的⾥⾯的操作

       2、封装可以为属性和⽅法添加私有权限

2、继承

        1、⼦类默认继承⽗类的所有属性和⽅法

        2、⼦类可以重写⽗类属性和⽅法

3、多态

       1、 传⼊不同的对象,产⽣不同的结果

二、多态

多态指⼀类事物有多种形态(⼀个抽象类有多个⼦类,因⽽多态的概念依赖于继承)。

1、定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果

2、好处:调⽤灵活,更容易编写出通⽤的代码,做出通⽤的编程,以适应需求的变化!

3、实现步骤:

        定义⽗类,并提供公共⽅法

        定义⼦类,并重写⽗类⽅法

        传递⼦类对象给调⽤者,可以看到不同⼦类执⾏效果不同

4、实例:

三.类属性和实例属性

1、类属性

1、设置和访问 类属性

        类属性就是类对象所拥有的属性,它被该类的所有实例对象所共有

        类属性可以使⽤类对象或实例对象访问

        类属性的优点:记录的某项数据始终保持⼀致时,则定义类属性。实例属性要求每个对象为其单独开辟⼀份内存空间来记录数据,⽽类属性为全类所共有,仅占⽤⼀份内存,节省内存空间。

实例:

2、修改类属性

类属性只能通过类对象修改,不能通过实例对象修改,如果通过实例对象修改类属性,表示的是创建了⼀个实例属性。

2、实例属性

四.类⽅法和静态⽅法

1、类方法

1、特点:

        需要⽤装饰器@classmethod来标识其为类⽅法,且第⼀个参数必须是类对象,⼀般以cls作为第⼀个参数。

2、实例:

        当⽅法中需要使⽤类对象(如访问私有类属性等)时,定义类⽅法

        类⽅法⼀般和类属性配合使⽤

2、静态方法

1、特点:

        需要通过装饰器@staticmethod来进⾏修饰,静态⽅法既不需要传递类对象也不需要传递实例对象(形参没有self/cls)。

        静态⽅法也能够通过实例对象和类对象去访问。

        当⽅法中既不需要使⽤实例对象(如实例对象,实例属性),也不需要使⽤类对象(如类属性、类⽅法、创建实例等)时,

定义静态⽅法取消不需要的参数传递,有利于减少不必要的内存占⽤和性能消耗

2、实例:


http://www.mrgr.cn/news/79828.html

相关文章:

  • 计算机毕设-基于springboot的航空散货调度系统的设计与实现(附源码+lw+ppt+开题报告)
  • Rerender A Video 技术浅析(五):对象移除与自动配色
  • Ubuntu 22.04安装Nessus(离线激活模式)
  • 【蓝桥杯每日一题】重新排序
  • c++作业4
  • 神经网络的可解释性与欠拟合:平衡模型透明度与性能
  • C++ 中 std::array<int, array_size> 与 std::vector<int> 的深入对比
  • Scala的隐式对象
  • prometheus
  • LLMs之APE:基于Claude的Prompt Improver的简介、使用方法、案例应用之详细攻略
  • 系统思考—结构影响行为
  • D95【python 接口自动化学习】- pytest进阶之fixture用法
  • 【开源】基于SpringBoot框架美容院管理系统(计算机毕业设计)+万字说明文档 T012
  • C# 在dataview可以直接增删改查mysql数据库
  • C++day4
  • 基于SpringBoot+Vue的高校电动车租赁系统
  • LeetCode118.杨辉三角
  • 系统安全分析与设计
  • Pytorch安装教程(CPU版本)+cv2的安装
  • unity打包sdk热更新笔记
  • transformer学习笔记-自注意力机制(1)
  • 【数据库】E-R模型、函数依赖、范式
  • 数字图像处理考研考点(持续更新)
  • [大数据]Hudi
  • day2:nginx基础(未完待续)
  • 【0363】Postgres内核 从 XLogReaderState readBuf 解析 XLOG Record( 8 )