Javaで書籍を扱う
概要
商品としての特性をShohinクラスが持ち、これを継承するShohinBookクラスで書籍としての商品を扱う。ShohinBookクラスをShohinBookTest_1でオブジェクト化する。
//商品クラス class Shohin { private int price;// 商品の価格 privateが付いているメソッドやフィールドは、サブクラスに継承されない private String name;// 商品名 public Shohin() {// 引数なしコンストラクタ } Shohin(String name, int price) {// 引数ありコンストラクタ this.price = price; this.name = name; } // セッタ public void setName(String name) { this.name = name; } public void setPrice(int price) { this.price = price; } // ゲッタ public String getName() { return this.name; } public int getPrice() { return this.price; } public void dispShohin() {// 名前と価格を標準出力 System.out.println(this); } public String toString() { return name + " " + price; } } // 商品クラスのサブクラス(出版社と在庫数をフィールドに持つ) class ShohinBook extends Shohin { private String publisher;// 出版社の名前 private int stock;// 在庫数 public ShohinBook() {// 引数なしコンスタラクタ } ShohinBook(String name, int price, String publisher, int stock) {// 引数ありコンストラクタ super(name, price); this.publisher = publisher; this.stock = stock; } public void setPublisher(String publisher) {// 出版社のセッタ this.publisher = publisher; } public void setStock(int stock) {// 在庫数のセッタ this.stock = stock; } public String getPublisher() {// 出版社のゲッタ return this.publisher; } public int getStock() {// 在庫数のゲッタ return this.stock; } public String toString() { return getName() + " " + getPrice() + " " + publisher + " " + stock; } public void incrementStock(int inc) {// 引数分在庫を増やす this.stock += inc; } public void decrementStock(int inc) {// 引数分在庫を減らす this.stock -= inc; } } public class ShouhinBookTest_1 { public static void main(String[] args) { ShohinBook sbt1 = new ShohinBook("リーダブルコード", 2400, "オライリー・ジャパン", 10); ShohinBook sbt2 = new ShohinBook("アジャイルソフトウェア開発の奥義 [asin:4797347783:detail] ", 5800, "ソフトバンククリエイティブ", 3); ShohinBook sbt3 = new ShohinBook("実践ハイパフォーマンスSQL", 2400, "オライリー・ジャパン", 5); ShohinBook sbt4 = new ShohinBook("徹底攻略Java SE Silver 問題集[1ZO-803]対応", 3200, "インプレスジャパン", 3); System.out.println(sbt1); System.out.println(sbt2); System.out.println(sbt3); System.out.println(sbt4); } }
実行結果
リーダブルコード 2400 オライリー・ジャパン 10
アジャイルソフトウェア開発の奥義 5800 ソフトバンククリエイティブ 3
実践ハイパフォーマンスSQL 2400 オライリー・ジャパン 5
徹底攻略Java SE Silver 問題集[1ZO-803]対応 3200 インプレスジャパン 3
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (130件) を見る
アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技
- 作者: ロバート・C・マーチン,瀬谷啓介
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/07/01
- メディア: 大型本
- 購入: 18人 クリック: 586回
- この商品を含むブログ (71件) を見る
- 作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,菊池研自,株式会社クイープ
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/11/25
- メディア: 大型本
- この商品を含むブログ (7件) を見る
徹底攻略Java SE 7 Silver問題集[1Z0-803]対応 (ITプロ/ITエンジニアのための徹底攻略)
- 作者: 志賀澄人,株式会社ソキウス・ジャパン
- 出版社/メーカー: インプレスジャパン
- 発売日: 2014/06/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る