...
Code Block | ||
---|---|---|
| ||
private class Account {
// Maintains all banking related data such as account balance
private double balance = 100;
boolean overdraft() {
balance += 300; // Add 300 in case there is an overdraft
System.out.println("Added back-up amount. The balance is :"
+ balance);
return true;
}
// other Account methods
}
public class BankAccount extends Account {
// Subclass handles authentication
// NOTE: unchanged from previous version
// NOTE: lacks override of overdraft method
}
public class Client {
public static void main(String[] args) {
Account account = new BankAccount();
// Enforce security manager check
boolean result = account.withdraw(200.0);
if (!result) {
result = account.overdraft();
}
System.out.println("Withdrawal successful? " + result);
}
}
|
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="99d1a3e986639c46-5e2ca718-45b746e6-9b4db1b4-f0a5206f542e6ff18b401739"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. References#API 06]] | [Class | http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html] | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a0142b0794a27c03-9e682e19-4afb4bb7-a2d1aeee-fdc4d2065fe9def6f2ab5977"><ac:plain-text-body><![CDATA[ | [[Bloch 2008 | AA. References#Bloch 08]] | Item 16. Favor composition over inheritance | ]]></ac:plain-text-body></ac:structured-macro> | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="16258589683aedbb-b7d3ae90-4e6f486e-84b5b145-0ec6310344c2b787d46bc806"><ac:plain-text-body><![CDATA[ | [[Gamma 1995 | AA. References#Gamma 95]] | Design Patterns, Elements of Reusable Object-Oriented Software | ]]></ac:plain-text-body></ac:structured-macro> | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a59102b67cfe7262-d3976dc2-45014180-8a37a933-709a93688540cffa5368467d"><ac:plain-text-body><![CDATA[ | [[Lieberman 1986 | AA. References#Lieberman 86]] | Using prototypical objects to implement shared behavior in object-oriented systems | ]]></ac:plain-text-body></ac:structured-macro> |
...