如何理解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方法 
    调用时:拿到门对象,调用门的开关门方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么写xsd文件

    怎么写xsd文件1.最简单的Schema文档如何写一个最简单的XML Schema文档呢?首先,我们写出一个最简单的XML文档。hello.xml——————-version=”1.0″?> Hello World!!hello.xsd----------version=”1.0″?> xmlns:xsd=”http://www.w3.org/2

    2025年7月9日
    2
  • ubuntu vi上下左右键无法使用?

    ubuntu vi上下左右键无法使用?

    2022年2月22日
    70
  • Android进阶-apk系统签名

    Android进阶-apk系统签名一、来源有时候我们开发一个apk需要系统权限,于是我们便会在apk的AndroidManifest.xml中添加如下属性:android:sharedUserId="android.uid.system"这个时候我们去安装apk,会提示:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE这个时候就是需要给apk一个系统签名。…

    2022年6月21日
    27
  • 请简述MyBatis框架与Hibernate框架的区别_报告与总结的不同点

    请简述MyBatis框架与Hibernate框架的区别_报告与总结的不同点两者相同点Hibernate与MyBatis都可以是通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory生成Session,最后由Session来开启执行事务和SQL语句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。Hibernate和MyBatis都…

    2022年9月10日
    4
  • html5首行缩进没有效果,css如何实现首行缩进效果

    html5首行缩进没有效果,css如何实现首行缩进效果css 实现首行缩进效果的方法 首先创建一个 HTML 示例文件 然后在 body 中定义一些文本段落 最后在 css 中使用 text indent 属性来实现首行缩进效果即可 本文操作环境 Windows7 系统 DellG3 电脑 HTML5 amp amp CSS3 版 在 css 中 我们可以使用 text indent 属性来实现首行缩进效果 本篇文章就来带大家了解 text indent 属性是怎样设置首行缩进样式

    2025年7月22日
    3
  • java除零异常_JAVA异常处理

    java除零异常_JAVA异常处理出bug是写代码的时候非常常见的情况,今天就来讲一下。首先明确一下什么是异常,代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行,就是异常。1.常见的异常有以下几种:1.System.out.println(1/0);//java.lang.ArithmeticException:/byzero除以零结果无穷大异常2.Stringstr=null;Syst…

    2022年5月18日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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