第7章 封装 定义类别(C|ass) 一于方法
第7章 • 封装 – 定义类别(Class) – 关于方法
以对象思考问题 有一个帐户,帐户中有存款余额,您可以 对帐户进行存款与提款的动作,并可以查 询以取得存款余额 一识别问题中的对象与属性 识别对象上的方法 帳戶中有存款 您可以對帳戶進行 有一便戶丿哏戶中有存款餘 對戶進行 勤作,並可查↓取得存款餘額 存款與提散的動作,並可以查詢以取得存款除。 屬性 物件 帳 存款餘額 存款餘額 查韵餘額
以对象思考问题 • 有一个帐户,帐户中有存款余额,您可以 对帐户进行存款与提款的动作,并可以查 询以取得存款余额。 – 识别问题中的对象与属性 – 识别对象上的方法
以对象思考问题 有一個帳戶,帳戶中有存款餘額,您可以對帳戶進行 存款與提款的動作·並可以査詢以取得存款餘額 戶 帳戶實例 帳戶實例 存款餘額 存款 提款 帳戶實例 查詢餘
以对象思考问题
使用 class定义类别 在Java中使用"cass"尖键词来定乂类另 public class Account i 定义类别 private string accountNumberi privatedouble balance i public Account)t 定义建构方法 this(" empty",0.0)氵 public Account(string accountNumber, double balance) this accountNumber accountNumber this balance balance
使用class定义类别 • 在Java中使用"class"关键词来定义类别 public class Account { private String accountNumber; privatedouble balance; public Account(){ this("empty", 0.0); } public Account(String accountNumber, double balance) { this.accountNumber = accountNumber; this.balance = balance; } … 定义类别 定义建构方法
使用 class定义类别 在Java中使用"cass"尖键词来定义类别 publicstring getAccountNumber()( return account Number publicdouble getBalance()( return balance publicvoid deposit (double money) 定义成员 balance + moneyi publicdouble withdraw(double money) balance - moneyi return moneyi
使用class定义类别 • 在Java中使用"class"关键词来定义类别 … publicString getAccountNumber() { return accountNumber; } publicdouble getBalance() { return balance; } publicvoid deposit(double money) { balance += money; } publicdouble withdraw(double money) { balance -= money; return money; } } 定义成员
使用 class定义类别 可根据类别来建构对象 Account account= newAccount (i Account account2 =newAccount(123-45671000)i 要透过公开成员来操作对象或取得对象信 息的话,可以在对象名称后加上「.」运算 符来进行 account. getBalance()i account deposit(1000.0)i
使用class定义类别 • 可根据类别来建构对象 • 要透过公开成员来操作对象或取得对象信 息的话,可以在对象名称后加上「.」运算 符来进行 Account account1= newAccount(); Account account2 =newAccount("123-4567", 100.0); account1.getBalance(); account1.deposit(1000.0);
使用 class定义类别 Account account new Account()i System.out. print1n("帐戶 account. getAccountNumber ( System. out. println("f5: account getBalance ( account new Account(123-4567100.0) account deposit(1000.0) System. out. println("k: " account getAccountNumber()); System. out. println("A: " account getBalance())i
使用class定义类别 Account account = new Account(); System.out.println("帐戶: " + account.getAccountNumber()); System.out.println("余額: " + account.getBalance()); account = new Account("123-4567", 100.0); account.deposit(1000.0); System.out.println("帐戶: " + account.getAccountNumber()); System.out.println("余額: " + account.getBalance());
类别成员( Classmember) 类别成员可用的访问权限修饰词有“ public ¨ protected private’三个 在宣告成员时不使用存取修饰词,则预设 以「套件」( package)为存取范围
类别成员(Classmember) • 类别成员可用的访问权限修饰词有“public”、 “protected”、“private”三个 • 在宣告成员时不使用存取修饰词,则预设 以「套件」(package)为存取范围
类别成员( Classmember) 数据成员被宣告为“ private,表示它是 「私用成员」( Privatemember),私用成 员只能在类别中被使用 方法被宣告为" public,表示这些方法可以 藉由对象的参考名称加上"."直接呼叫 存取修饰传回值型态方法名称(参数列){ //实作 return传回值;
类别成员(Classmember) • 数据成员被宣告为“private”,表示它是 「私用成员」(Privatemember),私用成 员只能在类别中被使用 • 方法被宣告为"public",表示这些方法可以 藉由对象的参考名称加上"."直接呼叫 存取修饰 传回值型态 方法名称(参数列) { //实作 return传回值; }
类别成员( Classmember) 方法区块中可以宣告变量(∨ ariable),参 数在方法区块执行结束后就会自动清除 方法中的相同变量名称会暂时覆盖数据成 员的作用范围 可以使用"this"尖键词来特别指定
类别成员(Classmember) • 方法区块中可以宣告变量(Variable),参 数在方法区块执行结束后就会自动清除 • 方法中的相同变量名称会暂时覆盖数据成 员的作用范围 • 可以使用"this"关键词来特别指定