一些C++的基础问题,请大家帮帮忙

cwbcwb505 2008-03-12 06:01:36
1、请问面向对像的设计是什么?
2、封装是什么?有什么好处?
3、七层协议和四层协议分别是什么?他们各有什么优的缺点?
4、设计模型是什么东西?什么样的模型最好?
5、什么样的数据库是一个好的数据库,你是怎么样来判断它的?
...全文
489 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwfly 2008-03-19
  • 打赏
  • 举报
回复
顶11楼 ^_^
cwbcwb505 2008-03-19
  • 打赏
  • 举报
回复
哈哈,本人找到工作了,看来这些问题就能在工作找到答案了
  • 打赏
  • 举报
回复
乖乖龙地咚啊,这貌似像某书的课后习题。。。。
xbt746 2008-03-14
  • 打赏
  • 举报
回复
好好看书罗
C++ Primer
Think in c++我决定也不错
xiaoshang_program 2008-03-14
  • 打赏
  • 举报
回复
.面向对象的设计(Object-Oriented Design)主要解决“怎么做”的问题,在概念、原则和表示法上与OOA都是一致的。
2.封装是对象的一个重要原则。它有两层含义:第一,对象是其全部属性和全部服务紧密结合而形成的一个不可分割的整体;第二,对象是一个不透明的黑盒子,表示对状态的数据和实现操作的代码都被封装在黑盒子里面。好处就是使用一个对象的时候,只需要知道它向外界提供的接口方式,无须知道它的数据结构细节和实现操作的算法,从而不能从外面直接修改对象的私有属性,从而保证的数据的有效性。
3. 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型。一台计算机操作系统中的网络过程包括从应用请求(在协议栈的顶部)到网络介质(底部) ,OSI参考模型把功能分成七个分立的层次。
  ┌─────┐
  │ 应用层 │←第七层
  ├─────┤
  │ 表示层 │
  ├─────┤
  │ 会话层 │
  ├─────┤
  │ 传输层 │
  ├─────┤
  │ 网络层 │
  ├─────┤
  │数据链路层│
  ├─────┤
  │ 物理层 │←第一层
  └─────┘

TCP/IP分层模型

  TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。
  ┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
  │        ││D│F│W│F│H│G│T│I│S│U│ │
  │        ││N│I│H│T│T│O│E│R│M│S│其│
  │第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │
  │        ││ │G│I│ │P│H│N│ │P│N│ │
  │        ││ │E│S│ │ │E│E│ │ │E│它│
  │        ││ │R│ │ │ │R│T│ │ │T│ │
  └────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
  ┌────────┐┌─────────┬───────────┐
  │第三层,传输层 ││   TCP   │    UDP    │
  └────────┘└─────────┴───────────┘
  ┌────────┐┌─────┬────┬──────────┐
  │        ││     │ICMP│          │
  │第二层,网间层 ││     └────┘          │
  │        ││       IP            │
  └────────┘└─────────────────────┘
  ┌────────┐┌─────────┬───────────┐
  │第一层,网络接口││ARP/RARP │    其它     │
  └────────┘└─────────┴───────────┘

开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:

  ·TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。

  ·TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传输。
4. 设计模型是说明用例实现的对象模型,是实施模型及其源代码的抽象。设计模型用作实施和测试活动多的基本输入,用于设想和记录软件系统的设计。它是全面的组合工件,包括所有设计类、子系统、包、协作和它们之间的关系。
5.判断数据库好坏也没什么硬性的规定,看个人的认为吧,本人认为减少数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享,能够为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序,操作直观,使用灵活,编程方便,环境适应广泛,数据处理能力极强的数据库就是好的数据库。
zhy282289 2008-03-14
  • 打赏
  • 举报
回复
都什么题目嘛~~~晕了~~
seiyaxu 2008-03-14
  • 打赏
  • 举报
回复
11楼很有趣~
liufangbj 2008-03-14
  • 打赏
  • 举报
回复
貌似见过的面试题
wpalhm 2008-03-14
  • 打赏
  • 举报
回复
1、请问面向对像的设计是什么?
2、封装是什么?有什么好处?
3、七层协议和四层协议分别是什么?他们各有什么优的缺点?
4、设计模型是什么东西?什么样的模型最好?
5、什么样的数据库是一个好的数据库,你是怎么样来判断它的?
------ -----------------------------------------------------

面向对象,面向对象是基于三个概念:封装,继承,多态。面向对象编程的关键思想还是多态。想很好的理解面向对象,不是一两句话一个吧月就能透彻的!这个需要长期的学习长期的实践好长期的总结。

封装:就是将数据隐藏起来,提供公共接口供使用。在三种特性里面封装也是最简单最容易做到的。比如有一个Dog类。它有身高,体重,名字等等数据成员,这些数据成员都不想被外界使用。这样可以封装起来。提高程序的安全性。

七层协议和四层协议。你去买一本网络方面的书籍都用讲解的!

设计模式 是一些思想,具体到代码的实现上。 是大师或有丰富经验的人总结出来的。没有最好的设计模式这种说法。
不知道你听说过没有绝对完美的软件,任何软件都是有漏洞的。哪怕就一行代码! 所以设计模式也只能说什么情况下用哪种较好!!!

数据库,我不甚了解。但还是适合而用。不要说人人都用Oracle,那我也用。首先问一下你自己你一个做的小项目用得了这么大这么难的数据库吗?
hxxwcc 2008-03-14
  • 打赏
  • 举报
回复
面向对象的设计是因为现实中,事物是以对象的形式存在的。计算机语言是我们描述世界的语言。面向对象是为了更好的增加可读性,维护性。
Aeolia_Tao 2008-03-14
  • 打赏
  • 举报
回复
1、请问面向对像的设计是什么?
答:找老婆啊

2、封装是什么?有什么好处?
答:不穿的体面点,女孩子能看上你?

3、七层协议和四层协议分别是什么?他们各有什么优的缺点?
答:正装和休闲款,随你喜好了

4、设计模型是什么东西?什么样的模型最好?
答:这就要看你的品味了,情人眼里出西施嘛,各有所求了

5、什么样的数据库是一个好的数据库,你是怎么样来判断它的?
答:老婆只能找一个阿,你想清楚了,哪个才是适合你的,当然也有离婚的
Chappell 2008-03-13
  • 打赏
  • 举报
回复
面向对象程序设计模式
发明面向对象程序设计方法的主要出发点是弥补面向过程程序设计方法中的一些缺点。OOP把数据看作程序开发中的基本元素,并且不允许它们在系统中自由流动。它将数据和操作这些数据的函数紧密的连结在一起,并保护数据不会被外界的函数意外的改变。OOP允许我们将问题分解为一系列实体——这些实体被称为对象(object),然后围绕这些实体建立数据和函数2、了

封装性
软件设计人员可以集中精力考虑开发系统各模块之间的关系等重大问题,而模块内部的实现可得到程序设计人员的研究与完善,可以充分保证模块质量和可靠性,也支持软件工程化思想。
mhisky 2008-03-13
  • 打赏
  • 举报
回复
建议买一本面向对象基础教程看看
--------------------------
包治百病
michney 2008-03-13
  • 打赏
  • 举报
回复
这些东西都是大概念性的
说了你也不一定能理解,
建议自己写程序,在代码中体会
firerun 2008-03-13
  • 打赏
  • 举报
回复
这些问题对你学好语言是某有帮助的
偶觉得先学好语言,对程序都熟悉了,再来思考这些问题会比较好。
tianer023 2008-03-13
  • 打赏
  • 举报
回复
搜索
samrychan 2008-03-13
  • 打赏
  • 举报
回复
实践才最重要,多点动手编程,积累经验.这些概念性的东西了解一下就可以了,不必深究.
zhtigt 2008-03-13
  • 打赏
  • 举报
回复
自己查是最好的方法!
hgshlg 2008-03-13
  • 打赏
  • 举报
回复
我也是初学者,呵呵
rosetears2 2008-03-13
  • 打赏
  • 举报
回复
考试中.......勿打扰~~
加载更多回复(20)

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧