Python【day 16-1】面向对象初识
1、面向对象思想
1、面向过程
1、概念
按照事物的发展流程,第一步,第二步,第三步,一步步往下
2、优缺点
1、优点
简单,流水线式的
2、缺点
可扩展性差
2、面向对象
1、概念
对象:是属性和动作的集合体 事物-东西-对象
1、属性:对象的特性、特点
2、动作:对象能做什么
2、优缺点
1、优点
可扩展性好
2、缺点
编写相对复杂一点 2、面向对象如何编写
1、定义类
1、代码中的类,就相当于盖房子的图纸,或者汽车设计的图纸
2、写法
class 类名:
def __init__(self):
pass
def 普通方法名(self):
pass 2、构造方法
def __init__(self,属性1,属性2):
self.属性1 = 属性1
self.属性2 = 属性2 3、普通方法
def 普通方法名(self[,形参列表]):
pass 4、对象调方法
self:表示当前正在执行动作的对象
对象名 = 类名() #新建对象,自动调构造方法
对象名.方法名()
类名.方法名(对象名[,实际参数]) 3、面向对象和面向过程的对比
都是设计思想,一般来说,简单的适合面向过程,复杂的适合面向对象
最终还是要结合不同的业务逻辑,来决定采用哪种思想 4、面向对象的三个特点
1、封装
把具有相同属性和功能的内容封装到一个对象中
狭义的理解:创建对象的时候,传入实际参数(就相当于把实参列表封装到了一个对象)
2、继承
子类可以继承父类除了私有属性外的其他所有内容
类比:现实中的,父亲和儿子
3、多态
同一个对象,可以拥有多种形态,python原生自带多态
比如:小明是学生,是人,是志愿者,不同的身份类型
Python【day 16-1】面向对象初识的更多相关文章
- python基础学习笔记——面向对象初识
面向对象初识 python中一切皆对象. 类有两种: 新式类:在py3中所有类都是新式类 经典类:在py2中只有类本身继承了object类才叫做新式类,默认是经典类 class Person: cou ...
- python全栈开发-面向对象-初识
python_16_day 函数总结: https://www.processon.com/view/link/5b718274e4b0555b39e1055f 面向过程的程序设计的核心是过程(流水线 ...
- 我的Python之旅第六天--面向对象初识
一.概念 类:是具有相同属性的技能的一类实物 对象:实例化的一个类,是类的具体体现 class Person: '''内容''' animal='高级动物' soul='有思想' #animal,so ...
- python全栈开发-面向对象-初识2
python_17_day 今日主要内容: 1.类空间,对象空间,查询顺序. 2.组合. 1.类空间,对象空间,查询顺序. class Person: animal = '高级动物' soul = ' ...
- python递归 及 面向对象初识及编程思想
递归 及 面向对象初识及编程思想 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递 ...
- Python中面向对象初识到进阶
面向对象初识到进阶 # 面向对象结构: # class 类名: # def __init__(self,参数1,参数2): # self.对象的属性1 = 参数1 # self.对象的属性2 = 参数 ...
- Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象
Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象初识 2. 面向 ...
- python 面向对象专题(一):面向对象初识、面向对象结构、类、self、实例化对象
https://www.cnblogs.com/liubing8/p/11301344.html 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象 ...
- python之面向对象初识
一.面向对象初识 1.结构上 面向对象分成两部分:属性.方法 class A: name = 'xiaoming' # 静态属性.静态变量.静态字段. def func1(self): # 函数.动态 ...
- python基础(17)继承类和面向对象初识
1.继承类 class Lm: money = 1000000 house = 5 def driver(self): print('会开车') class Mcb(Lm): def about_me ...
随机推荐
- TP5 where多条件查询
引用 : https://blog.csdn.net/haibo0668/article/details/78203170/
- 织女星开发板启动模式修改——从ARM M4核启动
前言 刚开始玩织女星开发板的时候,想先从熟悉的ARM核入手,连上Jlink,打开MDK版本的Demo程序,编译OK,却检测不到芯片,仔细看了一下文档,原来RV32M1芯片默认从RISC-V核启动,如果 ...
- Java描述设计模式(06):建造者模式
本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 基于建造者模式,描述软件开发的流程. 1.代码实现 /** * 基于建造者模式描述软件开发 */ public class C0 ...
- 基于STM32F429的ADS1115驱动程序
1.ADS1115中文资料:https://wenku.baidu.com/view/8bab101feef9aef8941ea76e58fafab069dc44e7.html?rec_flag=de ...
- SSM整合1(springMVC+mybatis)
整合目标:控制层采用springmvc.持久层使用mybatis实现 整合思路: Dao层: 1.SqlMapConfig.xml,空文件即可,但是需要文件头. 2.applicationContex ...
- C# params 用法
params 主要用在方法或函数参数数组中, 1,当参数个数不确定时使用 2,不能盒ref,和out组合使用 3,与参数数组对应的实参可以时一个 同类型数组,也可以时任意多个同类型变量 4,实参是数组 ...
- .net core 中间件使用
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; usi ...
- SharePoint PowerShell 创建网站栏
前言 最近,有这么个需求,需要使用PowerShell为网站集创建网站栏,好吧,直接看代码吧. Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorA ...
- 三大免费开源的php语言cms系统 用好它们让你一天建好一个网站
php语言只所以在web开发领域占据半壁江山,是因为它有太多的生态,成熟的框架体系,广泛的开源cms系统.建设网站的时候,都想提升开发效率,效率就是成本,如果你用原生php语言开发一个项目,既要设计数 ...
- QT总结
作为一个QT(C++/linux/windows)开发工程师,把自己在工作中遇到的一些QT问题持续总结给大家,一起分享: 一.隐藏鼠标:QApplication::setOverrideCursor( ...