第二章
- 2.1 对象
对象的概念是由现实世界引入问题模型;
对象包含有:状态和行为。具体地来说是:
- 数据封装:对象的方法的作用就是:将内部变量封装起来,提供给外界交互的窗口。(实现对数据的隐藏)
- 继承:父类和子类之间的复用,使得发给父类的信息,子类也可以接受。要处理父类,那么这一切父类型的子类也可以处理
- 多态:对外一个接口,对内多种实现。(子类与父类的类型等价性,使得在运行时,如果想访问接口,我们只需要访问父类的接口,所以只需要给父类发消息,但是却可以扩展到所有这个父类下的子类。)
但是当在具体的代码里,传入的如果是子类,就会自动访问的是子类的接口。(晚联编的方式:所调用的代码的绝对地址直到运行才能确定)
还要注意讨论,继承,多态都是在讨论父类和子类之间的关系,这个和对象方法不要混淆。
//其中Circle和Triangle都继承与shape。 void dosuff(shape s ){ s.draw() s.erase()} //到这里都没有确定到底要调用的s的地址是什么。 Circle c =new Circle(); Triangle t=new Trangle(); dosuff(c) dosuff(t) //一直到运行的时候,dosuff(c)确定调用的是c;而dosuff(t)确定了调用t的绝对地址
- 2.2 基于服务的对象设计:要提供什么服务?设计提供服务的对象的结构?这个对象功能是否单一?一直到每一个对象的服务单一化。
- uml类图之间的关系:参考:https://blog.csdn.net/LoveLion/article/details/6226375
第三章,语言基础
3.1 数据类型:基本类型,引用类型(用户自定义数据类型,类,接口)
- string 与StringBuffer : StringBuffer是可改变的存储文本。
string.charAt(i),返回指定索引处的字符
SringBuffer有append()函数
string字符串一般用双引号,字符用单引号;字符之间可以进行比较是否相等。
定义变量的时候,数据有初始化值:用类型 变量名=初始值;没有初始值:用new
String 赋值用“”
3.2 程序流程控制:
do while语句:和while语句一样,while括号里面的值为ture时进入循环,否则跳出;只是最开始就会执行一步循环。
可迭代类型的for 循环(数组和集合):
int[] numbers={1,2,3,4,5,6}
for(int element :numbers){
}