面向对象编程(OOP)

举报
小小张自由--张有博 发表于 2021/11/23 23:20:01 2021/11/23
【摘要】     最近都在大家学习面向对象编程,我写一下我的理解。 1.理解面向对象     (1)结构化程序设计(面向过程程序设计)         程序 = 算法 + 数据结构         算法第一位,数据结构第...

    最近都在大家学习面向对象编程,我写一下我的理解。

1.理解面向对象

    (1)结构化程序设计(面向过程程序设计)

        程序 = 算法 + 数据结构

        算法第一位,数据结构第二位

    (2)面向对象程序设计

        程序 = 对象 + 对象 + ~~~

        数据第一位,算法第二位

        关键:让每一个对象负责执行一组相关任务

    (3)面向对象编程的特性

        万物皆对象,程序是一组对象彼此之间在发送消息,每个对象都有自己的内存占用,可以组装成更大的对象。每个对象都有类型,特定类型的所有对象可以接收相同的消息。

2.面向对象的优点

 (1.)便于程序模拟现实世界中的实体

    用"类"封装建模实体对象的状态和行为

(2.)隐藏细节

    对象的行为和状态被封装在类中,外界通过公开的接口调用类的方法来获得状态信息,不需要关注内部细节如何实现。

(3.)可重用

    可以通过类模板,创建多个对象实例,重用类的定义代码。

3.类和对象的概念、区别和联系

    (1)概念:

        ①类:类是创建对象的模板和蓝图,类是一组类似对象的共同抽象定义(它是一个抽象的概念

        ②对象:对象是类的实例化的结果(对象是通过类构造出来的),是具体的,是实实在在存在的,代表现实世界的某一事物。

        ③对象的两个关键特性:

            行为:对象能干什么

            状态:对象的属性,行为的结果(一个对象的行为有可能改变一个对象的状态或者属性)

    (2)区别

        ①类是静态定义

        ②对象是动态实例

        ③程序代码操作的是对象而非类

        ④建模得到的是类而非对象

    (3)联系

        ①类是对象的定义(也可以理解为类是对象的数据类型)

        ②对象的产生离不开类这个模板

        ③类存在的目的是实例化得到对象

4.类的建模是一个抽象和封装的过程

        ①抽象:去掉不关注的,次要的信息而保留重要的信息

        ②封装:信息打包,简单来说:将抽象出来的属性和方法包装在一个类中

 

文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/promsing/article/details/103447921

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。