第三章:更对面向对象概念

构造函数

  • 构造函数不能有返回值,否则编译器不认
  • 如果我们写了构造函数,编译器就不再为我们提供了
  • 构造函数会调用父类的构造函数
  • 构造函数用于初始化对象。初始化成员变量是非常重要的
  • 在类中最好包含一个构造函数,哪怕是空的。如果以后需要初始化一些变量直接增加代码即可
  • 可以构建多个构造函数以应对不同的实例化任务
  • UML 中,构造函数的特点是没有返回值

异常处理

四种异常处理方式

  • 忽略异常(不推荐)
  • 中断程序执行
  • 修复程序错误
  • 抛出异常

try ... catch 的执行流程

  1. try 代码快被异常中止
  2. 检查 catch 中是否有对应的处理代码
  3. 如果没有对应的处理代码,异常将向上传递,直到传递到操作系统
  4. 如果有对应的处理代码,则执行这些代码来处理异常
  5. 继续执行 try 代码块之后的代码

作用域

  • 局部变量:属于某个方法
  • 对象变量:属于某个对象
  • 类变量:属于某个类,所有对象共享。慎用!

运算符重载

  • 要符合运算符本身含义,不要滥用

多重继承

  • 不推荐,最好还是单继承

对象操作

  • 注意深浅拷贝问题
  • 注意对象间的比较运算