面向对象程序设计中的一些问题

简介: 面向对象程序设计中的一些问题

目录

问题一、什么是面向对象程序设计

问题二、对象是什么?类是什么?

问题三、对象和类之间的关系又是什么?

问题四、什么是消息,消息又有哪性质?


问题一、什么是面向对象程序设计

面向对象程序设计是一种新型的程序设计的方式,这种方式的主要特征如下:

程序 =  对象 + 消息,在面向对象中也有三大非常重要的特性,那就是继承,多态以及封装

面向过程编程的核心是过程(流水线思维)。过程是解决问题的步骤。面向过程的设计就像仔细设计一条流水线,以考虑何时处理以及处理什么。优点是它大大降低了编写程序的复杂性。您只需要沿着要执行的步骤堆叠代码。

缺点:使用一组流水线或进程来解决问题,代码对整个程序的影响是非常大的。而面向对象解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,对一个对象参数的修改也是非常简单的

下面来看一个定义类的例子:

class Dog:
    def __init__(self,name,blood,aggr,kind):
        self.name = name
        self.hp = blood
        self.aggr = aggr
        self.kind = kind
    def bite(self,person):
        person.blood -= self.aggr

在上面我们就按照Python的方式定义了一个Dog类,并且给这个类创建了许多类的属性以及类的方法

问题二、对象是什么?类是什么?

按比较官方的话语来说对象,就是描述其属性的数据,以及对这些数据施加的一组操作封装,在一起统构成的统一体,对象可以认为是数据加操作,能够用对象完成的操作就可以表示它动态行为,我们通常也把这种操作称为方法,类的定义就更加简单了,它就是将具有相同的数据属性和数据方法的对象抽象出来形成集合体,也就是说类就是对具有相同数据结构和相同操作的一类对象的描述

问题三、对象和类之间的关系又是什么?

用非常简单的话来说,对象就是类的一种具体化,具体到某一个独一无二的个体,而类就是对各种具有相似特征的对象的一种抽象

类:具有相同特征的一类事物(人类,狗类)

对象/实例:具体的某一个事物(人类中的独一无二的你,比如狗类中的具体的某一条狗)

实例化:类——>对象的过程

下面我们就来实现一个类中对象的实例化:

class Dog:
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def bite(self,person):
        person.blood -= self.aggr
wangcai = Dog('旺财',4)    //这样我们就实例化了一个对象

问题四、什么是消息,消息又有哪性质?

在面向对象的程序设计之中,一个对象向另一个对象发出的请求,我们就把它称之为消息,我们可以通过接收的消息来执行相对应的操作,我们只有通过消息才能完成对象与对象之间的交互

相关文章
|
7月前
|
Java 物联网 测试技术
Java面向对象程序设计3面向对象基础
Java面向对象程序设计3面向对象基础
337 0
|
2月前
什么叫做 “面向对象” 编程?
本文介绍了面向对象编程(OOP)的概念、核心组件(类和对象)、三大特性(封装、继承和多态)以及六大设计原则,强调了面向对象编程在提高代码的可重用性、模块化、扩展性和维护性方面的优点。
71 1
|
6月前
|
存储 算法 安全
面向对象程序设计C++
面向对象程序设计C++
|
C++
20 C++ - 面向对象程序设计案例
20 C++ - 面向对象程序设计案例
90 0
|
人工智能 算法 数据挖掘
什么是程序设计
一、什么是程序设计 程序设计是指通过编写、测试和维护计算机程序来解决问题或实现特定功能的过程。它涉及到确定问题的需求、设计算法、选择合适的编程语言、编写代码、调试和测试程序等步骤。程序设计的目标是创建高效、可靠、易于理解和维护的软件。 二、程序设计具有以下特点 1. 抽象性:程序设计是一种高度抽象的活动,它涉及到将实际问题转化为计算机可以理解和执行的指令。 2. 逻辑性:程序设计需要遵循严格的逻辑结构和规则,以确保程序的正确性和可靠性。逻辑思维和分析能力是程序设计的重要组成部分。 3. 创造性:程序设计是一种创造性的活动,程序员需要在解决问题的过程中提出新的思路和方法,以实现更好的效果。
574 0
|
7月前
|
C++
25面向对象的程序设计
25面向对象的程序设计
48 1
|
7月前
|
存储 数据安全/隐私保护 C++
基于C++的面向对象程序设计:类与对象的深入剖析
基于C++的面向对象程序设计:类与对象的深入剖析
79 1
|
算法 Java Unix
面向对象和面向过程的区别?什么是面向过程?什么是面向对象?
面向对象和面向过程的区别?什么是面向过程?什么是面向对象?
3981 1
面向对象程序设计(OOP)的基本概念
面向对象程序设计(OOP)的基本概念
200 0
【面向对象初步】之面向对象VS面向过程
【面向对象初步】之面向对象VS面向过程