关于面向对象编程:面向对象关联Association和继承Inheritance的区别

关联(Association)Association 指的是类之间的协作关系,其中一个类与另一个类进行交互,但它们之间并没有父子关系。Association 通常示意一个类须要另一个类的某些服务或数据,或者示意类之间有某种独特的特色或属性。 继承(Inheritance)Inheritance 指的是从父类到子类的属性和办法的传递过程,子类能够继承父类的属性和办法,并能够在此基础上增加本人的属性和办法。Inheritance 次要是为了实现代码的重用,防止反复编写代码。在 Inheritance 中,子类和父类之间存在一种父子关系,子类从父类继承了所有的个性,包含属性和办法。子类能够增加新的个性或办法,也能够笼罩或重载继承的办法。 例子以下通过图书馆管理系统为例来阐明 Association 和 Inheritance 的区别: Association 关系图书馆类 Library 和读者类 Reader 之间存在一种协作关系,每个读者能够在图书馆中借阅、偿还图书。此时 Library 类和 Reader 类之间就存在 Association 关系。 ┌───────────────┐ ┌───────────────┐│ Library │ │ Reader │├───────────────┤ ├───────────────┤│ │◀─────────┤ ││ borrow_book │ │ borrow_book ││ return_book │ │ return_book ││ search_book │ │ ││ │ └───────────────┘└───────────────┘Inheritance 关系在图书馆管理系统中,所有书籍都有一些独特的特色,如书名、作者、出版社等等。因而能够定义一个 Book 类作为所有具体书籍类的父类,每个具体书籍类能够继承 Book 类的属性和办法。此时,具体的书籍类与 Book 类之间存在 Inheritance 关系。 ┌───────────────┐│ Book │├───────────────┤│ title ││ author ││ publisher ││ price ││ │└───────────────┘ ▲ │┌───────────────┐│ Novel │├───────────────┤│ genre ││ language ││ is_best_seller││ ISBN │└───────────────┘ ▲ │┌───────────────┐│ Textbook │├───────────────┤│ subject ││ level ││ edition ││ ISBN │└───────────────┘

February 13, 2023 · 1 min · jiezi

关于面向对象编程:一文讲全了Python-类和对象内容

摘要:这是一个对于 Python 类和对象的全部内容。本文分享自华为云社区《从零开始学python | Python 类和对象—面向对象编程》,原文作者:Yuchuan 。 Python 在沉闷开发人员方面将超过其余语言之后,Python 开发人员的需要只会增长。 Python 遵循面向对象的编程范式。它解决申明 python 类,从它们创建对象并与用户交互。在面向对象的语言中,程序被分成独立的对象,或者你能够说成几个小程序。每个对象代表应用程序的不同局部,它们能够互相通信。 在这个python类博客中,您将按以下程序理解类和对象的各个方面: What is a Python Class?Methods and Attributes in a classWhat are Objects?OOPs Concepts:InheritancePolymorphismAbstraction什么是 Python 类?python 中的类是创立特定对象的蓝图。它使您能够以特定形式构建软件。问题来了,怎么办?类容许咱们以一种易于重用的形式对咱们的数据和函数进行逻辑分组,并在须要时进行构建。思考下图。 在第一张图片 (A) 中,它代表了一个能够被视为Class的房子的蓝图。应用雷同的蓝图,咱们能够创立多个屋宇,这些能够视为Objects。应用类,您能够为您的程序增加一致性,以便以更简洁、更无效的形式应用它们。属性是通过点表示法拜访的数据成员(类变量和实例变量)和办法。 类变量是一个类的所有不同对象/实例共享的变量。实例变量是每个实例惟一的变量。它是在办法外部定义的,并且只属于类的以后实例。办法也称为函数,它们在类中定义并形容对象的行为。当初,让咱们继续前进,看看它在 PyCharm 中是如何工作的。要开始,首先看一下 python 类的语法。 语法: class Class_name:statement-1..statement-N在这里,“ class” 语句创立了一个新的类定义。类的名称紧跟 在python中的关键字“ class”之后,后跟一个冒号。要在 python 中创立一个类,请思考以下示例: class employee: pass #no attributes and methods emp_1=employee() emp_2=employee() #instance variable can be created manually emp_1.first='aayushi' emp_1.last='Johari' emp_1.email='aayushi@edureka.co' emp_1.pay=10000 emp_2.first='test' emp_2.last='abc' emp_2.email='test@company.com' emp_2.pay=10000 print(emp_1.email) print(emp_2.email)输入– ...

June 17, 2021 · 3 min · jiezi

关于面向对象编程:面向对象的Python编程你需要知道这些

摘要:Python 没有像 java 中的“private”这样的拜访说明符。除了强封装外,它反对大多数与“面向对象”编程语言相干的术语。因而它不是齐全面向对象的。本文分享自华为云社区《从零开始学python | 面向对象编程 Python:你须要晓得的所有》,原文作者:Yuchuan 。 面向对象的编程作为一门学科在开发人员中失去了广泛的追寻。Python,一种受欢迎的编程语言,也遵循面向对象的编程范式。它解决为 OOP 概念奠定根底的 Python 类和对象的申明。这篇对于“面向对象的 Python 编程”的文章将带您理解如何申明Python 类、从它们实例化对象以及 OOP 的四种办法。 什么是面向对象编程?(Python 中的 OOP 概念) 面向对象编程是一种应用“对象”的思维来示意数据和办法的计算机编程形式。它也是一种用于创立整洁且可重用的代码而不是冗余代码的办法。程序分为独立的对象或几个小程序。每个独自的对象都代表应用程序的不同局部,它们具备本人的逻辑和数据以在它们外部进行通信。 当初,为了更分明地理解为什么咱们应用 oops 而不是 pop,我在上面列出了不同之处。 面向对象和面向过程编程的区别 这就是差别的全副,继续前进,让咱们理解 Python OOPs Conceots。 什么是 Python OOP 概念?Python 中的次要 OOP(面向对象编程)概念包含类、对象、办法、继承、多态、数据抽象和封装。 这就是差别的全副,让咱们持续理解类和对象。 什么是类和对象?类是对象的汇合,或者您能够说它是定义公共属性和行为的对象的蓝图。当初问题来了,你是怎么做到的? 嗯,它以一种使代码可重用性变得容易的形式对数据进行逻辑分组。我能够给你一个现实生活中的例子——把一个办公室把“员工”设想成一个类,以及与它相干的所有属性,比方“emp_name”、“emp_age”、“emp_salary”、“emp_id”作为Python 中的对象。让咱们从编码的角度来看看如何实例化一个类和一个对象。 类是在“类”关键字下定义的。例子: class class1(): // class 1 is the name of the class留神: Python 不辨别大小写。 对象:对象是类的实例。它是一个具备状态和行为的实体。简而言之,它是一个能够拜访数据的类的实例。 语法: obj = class1() 这里 obj 是 class1 的“对象”。 在 python 中创建对象和类:例子: class employee(): def __init__(self,name,age,id,salary): //creating a function self.name = name // self is an instance of a class self.age = age self.salary = salary self.id = id emp1 = employee("harshit",22,1000,1234) //creating objectsemp2 = employee("arjun",23,2000,2234)print(emp1.__dict__)//Prints dictionary阐明: 'emp1' 和 'emp2' 是针对类 'employee' 实例化的对象。这里,单词 (__dict__) 是一个“字典”,它依据给定的参数(姓名、年龄、薪水)打印对象 'emp1' 的所有值。(__init__) 就像一个构造函数,无论何时创建对象都会调用它。 ...

June 2, 2021 · 3 min · jiezi