观何洁月教授C++教学视频--02--感想

看了这个教程以后了解了面向对象和面向过程的有点和缺点还有他们各自的程序结构和设计思路.

懂得了面向对象中得类和对象的含义.还了解了,多态性,封装和继承的的意思.

懂得了这些了以后我觉得面向对象这种程序设计方法比面向过程这种程序设计方法好多了.

起码代码的重用性好多了.可以通过继承,封装和多态性来实现代码的重用.

这样就可以大大缩短编写代码所用的时间,在代码写完以后测试和找BUG也比较容易.

因为封装的代码可以拿来直接用.通过继承和多态性可以减少写代码的条数.代码少了BUG也会相对的变少.

 

学了这个教程后还知道了用面向对象的软件工程做一个软件需要的步骤.

 

通过这个教程和上个教程的学习.了解了程序设计语言的发展.

我觉得下代程序设计语言将会是半自动的.

预先设定好一些代码,大量应用各自功能的封装代码.

软件开发者只用分析也就是在面向对象软件开发中得OOA,

然后AI会自动完成OOD,编程时只用开发者输入一些关键代码和参数.就可以了.

 

我相信类似于这种的编程在未来一定会出现的,现在生物芯片的研发已经取得突破性进展.

再不久的将来.如果具有颠覆现有CPU性能的生物芯片面世的话那么我们经常提到的AI.也就不是空谈了.真正的AI也会出现,而不是现在都是伪智能.

AI出现了我上面说的半自动编程应该就能出现,或者是说到时候根本就用不到程序员什么的了.你需要实现什么功能AI就会自编程来实现了.

 

说的有点跑题了..这篇博文是要写感想的.

 

总之看了这两个教程之后觉得.还是面向对象这种设计方法比较给力.

当然不是说别的不给力.在某些时候也要用到那些语言.我记得在什么地方看到过啊.说是C和C++相辅相成来做项目才是王道 呵呵.

 

 

 下面是看教程时记得笔记:

 

面向对象的方法也是一种程序设计方法
面向过程面向机构面向对象进化来的

最初程序设计的目的是用于科学计算
主要工作 求解问题的过程

面向过程 不容易多人开发 维护困难

面向过程的结构化设计方法

设计思路:大得问题分解开来各个击破,自顶向下各个击破逐步求精.采用模块分解功能与功能抽象.

程序结构:
按功能划分为若干个基本模块形成一个树状结构.
每个模块的关系尽可能简单.每一模块内部是由顺序,选择和循环三种基本结构组成.
具体模块化实现是应用了子程序
用C和C++来实现的话就是在主函数下调用各个子函数来实现

优点:有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护.

缺点:可重用性很差,数据安全性差,难以开发图形界面的应用.

把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销.
图形用户界面的应用,很难用过程来描述和实现,开发和维护都很困难

因为面向过程程序设计方法的缺点所以发展处了面向对象的程序设计方法.

将数据及对数据的操作方法封装在一起,作为一个相互依存,不可分割的整体----对象.
对同类型对象抽象出其共性,形成类.
类通过一个简单的外部接口于外界发生关系.
对象与对象之间通过消息进行通讯.

优点:程序模块间的关系更为简单,程序模块的独立性,数据的安全性就有了良好的保障,通过继承与多态性,可以大大提高程序的可重用性,是软件的开发和维护都更为方便

客观世界中的对象:
1.是现实世界中一个实际存在的食物,可以使用有形的,也可以是无形的.
2.是构成世界的一个独立单位,具有:
静态特征:可以用某种数据来描述.
动态特征:对象所表现的行为或具有的功能

面向对象方法中的对象:

1.是系统中用来描述客观事物的一个实体,他是用来构成系统的一个基本单位,对象由组属性和一组行为构成.
2.属性:用来描述对象静态特征的数据项.
3.行为:用来描述对象动态特征的操作序列.

分类--人类通常的思维方法
分为所依据的原则--抽象
1.忽略食物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划为一类,得出一个抽象的概念.
2.例如,石头,树木,汽车,房屋等都是人们在长期的生产和生活实践中抽象出得概念.

面向对象方法中得"类"
1.具有相同属性和服务的一组对象的集合
2.对属于该类的全部对象提供了抽象的描述,包括属性和行为两个部分.
3类与对象的关系:
犹如磨具与铸件之间的关系,一个属于某些的对象成为该类的一个实例

集合---对象
抽象描述---具体实例

封装

1.把对象的属性和服务结合成一个独立的系统单位
2.尽可能屏蔽对象的内部细节,对外形成一个边界,只保留优先的对外接口使之与外部发生联系.

继承

1继承对于软件代码的重用有着重要的意义,是面向对象技术能够提高软件开发效率的重要原因之一.
2.定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承.
3.例如:将轮船作为一个一般类,客轮便是一个特殊类.

多态性

多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义

面向对象的软件工程

面向对象的软件工程是面向对象方法在软件工程领域的全面应用:
面向对象的分析 OOA
面向对象的设计 OOD
面向对象的编程 OOP
面向对象的测试 OOT
面向对象的软件维护 OOSM


软件工程开发的过程:需求分析(自然语言)--总体设计(面向对象语言)--详细设计--编程--测试--运行

系统分析:
1.系统分析阶段应该扼要精确地抽象出系统必须做什么,但是不关心如何去实现.
2.面向对象的系统分析,直接用问题域中客观存在的事物建立模型中得对象,对单个事物及事物之间的关系,都保留他们的原貌,不做转换,也不打破原有的界限而重新组合,因此能够很好地映射客观事物.

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值