1. 语言的形式化途径
语法 Syntax : 研究符号和符号之间的关系;
语义 Semantics : 研究符号与其代表含义之间关系;
语用 Progmatics : 不知
2. 语言的处理过程
源程序->预处理->源程序->词法分析->单词序列->语法分析->分析树->语义分析->带注释的分析树->中间代码生成
->中间代码->代码优化->目标代码
3. 字符集
每种语言都指定字符集,java是unicode,c++是ASCII。
4. 规则
语法规则采用BNF范式(计算机阅读)和语法图(人阅读)。
5. 对象
具有3个部分:
属性
行为
约束
关系算不算呢?
几个定义:
对象是实体在计算机内存中的的模拟;
对象是上述3个部分的封装;
对象是具有I/O的有限自动机(具有自己的内部状态以及状态转化机制)。
6. 面向对象的主要特征
封装
将实体在程序中作为一个整体看待;
是软件系统模块化的基本单位。
信息隐藏
接口和实现相分离。公开接口,隐藏多种实现。
数据抽象
类是对数据的描述,而不是数据本身;
是实现封装和信息隐藏的组合体,也是用户自定义类型;
是抽象数据类型(ADT)的实现。
继承
分类组织层次结构(is-a)。
多态
一个名字或符号表达多种含义。
7.运行环境
编译程序:javac
虚拟机:java
打包:jar
文档:javadoc
调试:jdb
Applet:appletviewer
java virtual machine
指令集
寄存器
类文件格式
堆栈
垃圾收集堆
内存区域
8.程序中的数据
数据:实体的属性;
常量:值不可改变;
变量:值可以改变。
9.编程风格
风格及命名规则略。
10.文档化注释