brass

C++ Primer Plus 笔记第十三章

时光怂恿深爱的人放手 提交于 2020-02-21 05:47:21
类继承 本章内容:    is-a 关系的继承;    如何以公有方式从一个类派生出另一个类;    保护访问;    构造函数成员初始化列表;    向上和向下强制转换;    虚成员函数;    早期(静态)联编与晚期(动态)联编;    抽象基类;    纯虚函数;    何时及如何使用公有继承    面向对象编程的主要目的之一是提供可重用的代码;    C++类提供了更高层次的重用性,类库由类声明和实现构成,因为类组合了数据表示和类方法;    C++提供了比修改代码更好的方法来扩展和修改类——类继承; 13.1 一个简单的基类    从一个类派生出另一个类,原始类成为基类,继承类称为派生类;    程序清单13.1 tabtenn0.h  1 #ifndef TABTENN0_H_ 2 #define TABTENN0_H_ 3 4 class TableTennisPlayer 5 { 6 private: 7 enum {LIM = 20}; 8 char firstname[LIM]; 9 char lastname[LIM]; 10 bool hasTable; 11 public: 12 TableTennisPlayer(const char * fn = "none", const char * ln = "none", bool ht = false);

Java编程思想学习笔记(9)

◇◆丶佛笑我妖孽 提交于 2020-01-19 03:49:55
Java编程思想学习笔记(9) 抽象类与抽象方法 首先先看例子,之前的一系列乐器的例子,把基类Instrument声明为抽象类。 UML图: abstract class Instrument { private int i; // Storage allocated for each //抽象方法,不能有“{}” public abstract void play(Note n); public String what() { return "Instrument"; } public abstract void adjust(); } public class Brass extends Instrument{ public void play(Note n) { print("Brass.play() " + n); } public void adjust() { print("Brass.adjust()"); } } public class Percussion extends Instrument{ public void play(Note n) { print("Percussion.play() " + n); } public String what() { return "Percussion"; } public void adjust() {} }

Java为何需要多态机制?

强颜欢笑 提交于 2020-01-14 10:12:44
先看一个程序代码,我们通过该程序多方面揣摩Java设计者设计多态机制的由来。 1 //:polymorphism/music/Note.java 2 3 package polymorphism.music; 4 5 public ennum Note{ 6 7 MIDDLE_C,C_SHARP,B_FLAT; 8 9 } 10 11 12 13 //:polymorphism/music/Instrument.java 14 15 package polymorphism.music; 16 17 Class Instrument{ 18 19 public void play(Note n){ 20 21 System.out.print("Instrument.play()"); 22 23 } 24 25 } 26 27 28 29 //:polymorphism/music/Wind.java 30 31 package polymorphism.music; 32 33 public class Wind extends Instrument{ 34 35 public void play(Note n){ 36 37 System.out.print("Wind.play()"+n); 38 39 } 40 41 } 42 43 44 45 //