Thinking in C++ chapter 1

第一章:对象的演化

1.1基本概念

面向对象程序设计_OOP

首个面向对面程序设计语言:60年代的Simula-67,目的:解决模拟问题;

类:描述了一组有相同特性(数据元素)和相同行为(函数)的对象;

another oop language:Smalltalk;

继承:表示基本类型和派生类型之间的相似性;

多态:

早捆绑:编译器对特定的函数名产生调用,而连接器确定调用执行代码的绝对地址;

晚捆绑:当给对象发送消息时,在程序运行之前不去确定调用的代码。编译器确保被调函数存在,并完成参数和返回值的类型检查,但它不知道将执行的准确代码。

(OOP)

关键字virtual表明某个函数有晚捆绑的灵活性。

virtual函数(虚函数)表示允许相同家族中的类有不同的行为。这些不同是引起多态行为的原因。

1.3方法学

复杂性分析:

程序设计制定原则:

(1)内部原则:程序自身的结构之中(通过程序设计语言的表达方式来了解。是程序的本质,让程序工作而产生);

科学工作 FORTRAN(FORmula-TRANslation);

商业 COBOL(COmmon Business-Oriented Language);

纯计算机科学 Lisp(List-Processing);

数学 APL(A Programming Language);

BASIC (Beginers All_purpose Symbolic Instruction Code);

(2)外部原则:程序的源信息中(“设计文档”,not “产品文档”。是程序的分析,为了将来维护和理解程序而产生);

FoobleBlah文档规范;

a.通讯:外部原则所产生的事物的本质

理想的外部原则目标:使关于程序分析和设计的通讯 更容易。

中心问题:产生好的设计。

时间: 2024-10-10 16:40:32

Thinking in C++ chapter 1的相关文章

ANSI Common Lisp Chapter 2

Chapter 2 总结 (Summary) Lisp 是一种交互式语言.如果你在顶层输入一个表达式, Lisp 会显示它的值. Lisp 程序由表达式组成.表达式可以是原子,或一个由操作符跟着零个或多个实参的列表.前序表示法代表操作符可以有任意数量的实参. Common Lisp 函数调用的求值规则: 依序对实参从左至右求值,接着把它们的值传入由操作符表示的函数. quote 操作符有自己的求值规则,它完封不动地返回实参. 除了一般的数据类型, Lisp 还有符号跟列表.由于 Lisp 程序是

Chapter 5 MySQL Server Administration_1

Chapter 5 MySQL Server Administration Table of Contents 5.1 The MySQL Server 5.1.1 Configuring the Server 5.1.2 Server Configuration Defaults 5.1.3 Server Option and Variable Reference 5.1.4 Server Command Options 5.1.5 Server System Variables 5.1.6

Notes : <Hands-on ML with Sklearn & TF> Chapter 7

.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordere

软工Chapter Six

软工Chapter six 团队和流程 典型的软件团队模式和开发流程是:主治医师模式.明星模式.社区模式.业余剧团模式.秘密团队.特工团队.交响乐团模式.爵士乐模式.功能团队模式:写了再改模式.瀑布模型.瀑布模型的各种变形.统一流程.老板驱动的流程.渐进交付的流程. 现在的编程离不开团队的合作,那么怎样的组合才能算是一个团队呢?首先,团队有一致的集体目标,团队要一起完成这目标.一个团队的成员不一定要同时工作,但一定要有共同的目标.另外团队成员有各自的分工,互相依赖合作,共同完成任务. 软件团队有

[AWDwR4] chapter 11 Play time 2th: use blind_up effect

chapter 11 Play time Play time 2:    使用Script.aculo.us JavaScript库中的blind_up效果代替隐藏cart这个div的过程.    上网搜了一下,jquery中有blind这个效果,所以就用jquery中的hide("blind"),而不使用Script.aculo.us JavaScript库    app/views/carts/destroy.js.erb这个文件可以有好几种写法,对照着可以加深理解:      

Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC

What's In This Chapter? Features of ASP.NET MVC 6 Routing Creating Controllers Creating Views Validating User Inputs Using Filters Working with HTML and Tag Helpers Creating Data-Driven Web Applications Implementing Authentication and Authorization W

Chapter.1 C#语言基础

一.C#项目组成结构 1.项目后缀:.config---配置文件 .csproj---项目文件(管理文件) .sln---解决方案文件(管理项目) .cs---源文件(程序代码) p.s.: 后缀不同代表文件类型也不同,这些文件后缀类型会在”解决方案资源管理器“中看到. 2.主函数.输出语句.输入语句: namespace Chapter.2 //命名空间 { class Program //类 { static void Main(string[] args) //方法(主函数) { Cons

《深入理解计算机系统》 Chapter 7 读书笔记

<深入理解计算机系统>Chapter 7 读书笔记 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(货被拷贝)到存储器并执行. 链接的时机 编译时,也就是在源代码被翻译成机器代码时 加载时,也就是在程序被加载器加载到存储器并执行时 运行时,由应用程序执行 链接器使分离编译称为可能. 一.编译器驱动程序 大部分编译系统提供编译驱动程序:代表用户在需要时调用语言预处理器.编译器.汇编器和链接器. 1.将示例程序从ASCⅡ码源文件翻译成可执行目标文件的步骤 (1)运

Hadoop - The Definitive Guide, 4th Edition (边学边译) Chapter 1

Chapter 1. Meet Hadoop(大部分略) Comparison with Other Systems 说一下和其他系统的比较 Relational Database Management Systems 为什么我们不使用很多硬盘来进行大规模分析呢?为什么需要Hadoop? 答案就是:这么多年,磁盘寻道时间的提高比传输速率的提升慢很多.寻道是将磁头移动到指定的地方进行读取.寻道时间是一个物理操作,所以会有延迟.然而传输速率取决于硬盘的带宽而已. 一方面,如果数据读取的模式被寻道所限

Objective - c Chapter 1 -2 Hello world

Objective - c   Chapter 1  Hello world 1.1 1.2.On the Welcome screen, click "Create a new Xcode project" (see Figure 2-1), or just chooseFile ->New ->New Project. 1.3.在main里写如下代码 #import <Foundation/Foundation.h> int main(int argc, c