banner

及手掌侧面,当然,这些地方比较不起眼),达·芬奇则是在几年后使用油彩完成了左侧天使的绘制,天使的身体背对我们,脸部向侧面扭转,神情柔和,此外他还绘制了帽子,风景(初稿原本是绘画作品中最常见的树木,经过达·芬奇重绘后与1473年乌菲齐美术馆的设计图有异曲同工之妙),基督的面庞(人们在这个部位发现了指印,可见达·芬奇再次施展了绝技“晕涂法”,以手指蘸上油彩在轮廓线处反复涂抹,加上大面积填色,从而产生色彩的渐变——我们甚至可以发现达·芬奇衣服上未干的油彩不小心碰到小天使的衣服而在衣褶上留下的痕迹!),达·芬奇也许还进行了最后的整体修饰,使得画作的色调更加浓郁鲜明,轮廓也愈加柔和。

下页图

tips

8.6.1 默认构造函数

创建对象时有多种调用构造函数的方式。

一种方式是在括号内指定一个或多个参数:

这些参数将传递给构造函数,上述示例设置三轮车的初始速度。

也可在创建对象时不指定参数:

这将调用默认构造函数——没有参数的构造函数。

8.6.2 编译器提供的构造函数

如果您没有声明构造函数,就像程序清单 8.1 的程序 Tricycle 那样,编译器将为您创建一个默认构造函数。

编译器提供的默认构造函数不执行任何操作,就像您声明了一个没有参数且函数体为空的构造函数一样。

下面是需要注意,第二个类为BrassPlus。应从Brass公有派生出BrassPlus吗?要回答这个问题,必须先回答另一个问题:BrassPlus类是否满足is-a 条件?当然满足。对于Brass对象是正确的事情,对于BrassPlus对象也是正确的。它们都将保存客户姓名、账号以及结余。使用这两个类都可以存款、取款和显示账户信息。请注意,is-a 关系通常是不可逆的。也就是说,水果不是香蕉;同样,Brass对象不具备BrassPlus对象的所有功能。

13.4.1 开发Brass类和BrassPlus类

Brass Account类的信息很简单,但是银行没有告诉您有关透支系