1、软件设计总则:可复用、可扩展、可维护、灵活性好。 电脑=硬盘+光驱+内存+显卡+CPU+显示器;可扩展(加内存条)、可复用(显示器用在其他电脑上)、可维护(更换其中的硬件而不是换电脑)、灵活性(硬件都可组装到其他电脑上)。 2、面向对象三大特性:封装+继承+多态。 封装(就是把客观事物封装成抽象的类,使得业务逻辑与界面逻辑分离,降低耦合性,易维护和扩展);继承(子类属性从祖先类继承);多态(多态指的是同一种事物的多种状态。水这种事物有多种不同的状态:冰,水蒸气) <多态注意事项> 子类云杉Spruce,父类树Tree。Spruce:Tree Tree *t0=new Spruce ();//多态。t0具有Tree的通用属性与方法,不包括Spruce的独立特性(云杉是树√) Spruce *t1=new Spruce ();//t1即包含Tree的通用特性也包含Spruce的独立特性(云杉是云杉√) Spruce *t2=new Tree();//子类中包含了父类不包括的独立特性(如云杉树的叶类型为针叶,但树的叶类型包括针叶和阔叶)导致错误(树是云杉X) 3、相关类说明 <继承方式注意事项> 注意: 0、公有继承:calss A:public B。保护继承:class A:protected B。私有继承:class A:private B。 1、派生类成员特性(如派生类中的构造函数)–成员访问(自己类中访问自己的东西); 2、派生类对象(如calss Motorbike:public Car; Motorbike a,a为对象)–对象访问(a.方法) <接口类、抽象类、普通类的不同>