如何理解Python 面向对象编程思想

如何理解Python 面向对象编程思想Python面向对象编程思想:从四个方面来理解1.宽泛的面向对象的概念举例说明面向过程:做一件事情,从头到尾,每一个细节都要关注,重点在于过程面向对象:做一件事情,用对象去做,不关心细节和过程,万物皆对象

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

从四个方面来聊面向对象

1. 宽泛的面向对象的概念 举例说明

面向过程:做一件事情,从头到尾,每一个细节都要关注,重点在于过程
	从西安到北京:西安-郑州-武汉-邯郸-邢台-北京

Jetbrains全家桶1年46,售后保障稳定

面向对象:做一件事情,用对象去做,不关心细节和过程,万物皆对象
	从西安到北京: 坐动车到北京

2. python中面向对象

有类:描述一类事物,一个抽象的概念,比如:人、动物、水果
有对象:是类的具象化比如:张三、李四、猫、狗
	特征(属性)
	功能行为(方法) 

元类-类-对象

3. python中面向对象的三大特征:

3.1 封装:面向对象编程的第一步—–>将 属性和方法 封装到一个抽象的 类 中
外界使用 类 创建 对象,然后让 对象 调用方法
对象方法的细节 都被 封装 在 类的内部
3.2 继承:子类可以拥有父类的属性和方法(减少代码的书写,提高代码的阅读性)

单继承
代码的传递性:孙子类中可以使用爷爷类型的方法
多继承
一个子类可以继承多个父类
特点:子类拥有所有父类的属性和方法

方法重写:
	概念:在子类中书写和父类同名的方法
	特点:在类中调用方法,如果在子类中找到,直接执行子类中的方法
            如果子类中没有找到这个方法,去父类中找,找到了就调用父类中的方法,
            如果父类中没有找到,则报错
私有方法和属性:
	语法格式:
		def __函数名(self):

		def __init__(self):
			self.__money = "自己猜"
	特点:
		不允许被外界访问,只能自己使用
		如果外界必须访问,那么可以提供一个公共的方法,访问私有属性 
3.3 多态:一个对象的多种形态(一父多子)
作用:增强代码的灵活性、提高代码的扩展性
条件:继承、方法的重写

4. 面向对象编程的设计

继承体系设计 有什么类 什么属性 封装到什么方法中去
比如:门 锁  人 ,把开门关门的方法 封装在谁的类之中?
    封装在门的类之中,(谁拥有数据谁就拥有操作数据的权利)而人相当于一个main方法 
    调用时:拿到门对象,调用门的开关门方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213531.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2021前端高级面试题_2021前端面试题目100及最佳答案

    2021前端高级面试题_2021前端面试题目100及最佳答案一、简单页面1、CSS选择器样式优先级2、CSS实现三列布局(左右固定宽度,中间自适应)(1)CSS浮动第一个float:left,第二个float:right,第三个设置margin-left和margin-right(2)绝对定位法第一个定位到left,第二个定位到right,第三个设置margin-left和margin-right(3)flex布局.left{width:200px;或者flex:00200px;}.right{width:200px;

  • PHP 17: MySQL的简单介绍

    PHP 17: MySQL的简单介绍

  • 触发器的创建及相关知识

    触发器的创建及相关知识

  • 自旋锁和互斥锁区别在哪_互斥锁的实现

    自旋锁和互斥锁区别在哪_互斥锁的实现POSIXthreads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(ThreadSynchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共享的临界区(CriticalSection)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:…

    2022年10月22日
  • case label does not reduce to_class not loaded

    case label does not reduce to_class not loadedClassCastException出现原因解决办法出现原因抛出以指示代码已尝试将对象强制转换为它不是实例的子类。例如,以下代码生成一个ClassCastException:对象x=新整数(0);System.out.println((String)x);解决办法这种异常我也不知道有什么能够完全解决的办法,但是可以同instanseof来避免例如:Pet宠物类   Dog狗狗类(继承Pet)  Penguin企鹅类(继承Pet)  Dogdog=(Dog)pet

  • paddle深度学习基础之训练调试与优化

    paddle深度学习基础之训练调试与优化上一节咱们讨论了四种不同的优化算法,这一节,咱们讨论训练过程中的优化问题。本次代码修改模型全是在卷积神经网络

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号