2012-02-16 16 views
2

私の最初の言語はCですが、私はJavaを使用するクラスを取っています。ライブラリを作って2つのサブクラスの書籍と定期刊行物を作ることに同意しています。一般的なコール番号のようなものや、日付と点画で確認したが、私の質問はcからjavaへのオブジェクト

スーパークラスである:ライブラリ サブクラス:図書

図書館の本=新しいライブラリと図書館の本を言うの違いは=何です新しい本?

私はちょうどループを作り、毎回私はこれが可能である場合だけ

図書館の本=新しい本(「など、著者、ジャンル、などの引数を送る」)

を言う例えば本を読むことができますどのように私はすべてのオブジェクトを印刷するのですか(私は考えませんが、私はCから来たと言ったように、私はオブジェクトについてたくさん知りません)

またはオブジェクト配列が必要ですか?この本のオブジェクトをオブジェクト配列なしで配置する方法はありますか?私はあなたがbit of readingを行う必要があると思います

おかげ

+0

講師が 'Book'と' Periodical'のスーパークラスを 'Library'にするように教えてくれないことを願っています。もしそうなら、それはあなたが取っているクラスについての赤い旗です。それは意味をなさない。 – mpontillo

+0

彼は書籍や定期刊行物のスーパークラスを作ると言っていましたが、それはなぜ意味がないと言いますか? – user1212697

+1

これで答えを確認したいと思うでしょう。 ;-)スーパークラスは 'Library'であってはいけません。スーパークラスは、 'Book'と' Periodical'の共通点を定義するオブジェクトの一般的な型です。以下の提案の中には、「リソース」と「マテリアル」がありますが、これは受け入れられるものです。私がこれをしていたら、私はスーパークラスを全く使わないかもしれません。私は 'LibraryCheckout'のようなインターフェースを使用して、両方のクラスにそのインターフェースを実装させることができます。しかし、後でそれについて学びます。 – mpontillo

答えて

2

。あなたは

public class Material { 
    // properties and methods here 
} 

ような何かをするだろうし、次にあなたが

public class Book extends Material { 

} 

を行うサブクラスを作成するクラスを作成するには、作成したインスタンスを追跡する最も簡単な方法は、周りの配列を維持することで、すべてのインスタンスを作成したときに、そのインスタンスへの参照を配列に入れます。したがって

Material[] library = new Material[100]; 
library[0] = new Book(); 

このアプローチの問題は、あなたが作成する本の数を知る必要があるということです。代わりにList implementationsのいずれかを使用できます。

1

書籍と定期刊行物の図書館HAS-Aコレクションです。私は書籍や定期刊行物のスーパークラスを持っているかもしれません。私は、リソースそれを呼ぶことにします:

package model; 

public class Library { 
    private List<Resource> resources; 
    // other methods here. 

} 
0
library book=new library(); 

あなたはライブラリオブジェクトを作成し、ライブラリの参照変数に代入されます。

library book =new books(); 

booksオブジェクトを作成し、それをライブラリ参照変数に割り当てます。 これは、book変数を使用してライブラリの属性とメソッドのみにアクセスすることはできますが、オブジェクトは書籍であり、オーバーライドされたメソッドが(ブックコードから)実行され、ブッククラスをキャストできます。最後に、あなたは、配列(およびそのサブタイプ)を定義し、私はあなたが配列でやりたいんか分からないが、あなたはタイプの配列オブジェクトに格納することができます

、¿書籍がサブタイプでありますライブラリの?What Is Inheritance?

+1

ちなみに、最初のCapital Leterでクラス名を指定してください:書籍とライブラリ –

+0

はい、Javaを書くつもりならば、Sun Javaコーディング標準を学んでください。 http://www.oracle.com/technetwork/java/codeconv-138413.html – duffymo

関連する問題