コレクションフレームワークを学ぶとき、初心者は学生管理システムや従業員管理システムなどの演習を簡単に実践します。コレクションフレームワークを学習する前に、基本的に基本的なJava文法を学びました。コレクションフレームワークは、以前の学習の理解もテストします。以下は、私が以前に行った実践的な質問で、コレクションフレームワークを確認し、オブジェクト指向プログラミングのアイデアを簡単に紹介します。振り返ってみると、古い知識をより徹底的に理解することがわかりました。最近、財団を統合しました。
ツール:簡単なコンピレーションとデモンストレーションのためのメモ
環境:コードをクラスに入れます(この習慣は非常に悪いです)
目的:知識を確認し、オブジェクト指向のプログラミングを理解します
コードインスタンス(4つのピースに分割され、直接使用するだけです)
1。ガイドパケット
Import java.util.arraylist; Import java.io.bufferedReader; Import java.io.inputStreamReader;
2。テストクラス
Public Class Guanli {public static void main(string [] args)スロー例外{// dodo auto-enerated method stub // empmanageオブジェクトEmpmanage em = new Empmanage(); BufferedReader br = new BufferedReader(new inputstreamReader(System.in)); //(true){system.out.println( "実行する操作を入力してください:"); System.out.println( "1:従業員を追加することを意味します"); System.out.println( "2:従業員を見つけることを意味します"); System.out.println( "3:従業員の給与を変更することを意味します"); System.out.println( "4:従業員を削除することを意味します"); System.out.println( "5:操作を終了するように依頼することを意味します"); string operatortype = br.readline(); if(opertype.equals( "1")){system.out.println( "番号を入力してください");文字列num = br.readline(); system.out.println( "名前を入力してください");文字列名= br.readline(); System.out.println( "給与を入力してください"); float sal = float.parsefloat(br.readline()); //この時点で、情報を入力した後、オブジェクトはEmp2 emp = new emp2(num、name、sal)が作成されます。 // em.addemp(emp);に追加します。 } else if(opertype.equals( "2")){system.out.println( "番号を入力してください");文字列num = br.readline(); em.showinfo(num); } else if(opertype.equals( "3")){system.out.println( "番号を入力してください");文字列num = br.readline(); System.out.println( "給与を入力してください"); float sal = float.parsefloat(br.readline()); em.updatesal(num、sal); } else if(opertype.equals( "4")){system.out.println( "番号を入力してください");文字列num = br.readline(); em.delemp(num); } else if(opertype.equals( "5")){system.exit(0); }}}}3。従業員管理カテゴリ(従業員情報の動的管理を含む)
//従業員管理クラスEmpmanageを作成{//コレクションクラス(プロパティ)プライベートアレイリスト<Emp2> al = nullを定義します。 // constructor、初期化変数public empmanage(){al = new ArrayList <Emp2>(); } // capsulated method // 1。従業員のpublic void addemp(emp2 emp){al.add(emp); } //2。従業員関連情報を表示public void showinfo(string num){// arrayList全体を(int i = 0; i <al.size(); i ++){// emp2オブジェクトEmp2 emp2 =(emp2)al.get(i); // if(emp.getnum()。equals(num)){system.out.println( "従業員を見つける、彼のメッセージは:"); System.out.println( "note:" + emp.getnum()); System.out.println( "name:" + emp.getName()); System.out.println( "sal:" + emp.getsal()); }}} // 3。従業員の給与の変更(数に応じて給与の変更)//つまり、最初のパラメーターは番号です。 2つ目は、ユーザーpublic void updatesal(string num、float newsal)によって送信された「新しい」給与です(// traversal for(int i = 0; i <al.size(); i ++){emp2 emp =(emp2)al.get(i); //判断番号if(emp.getnum()。equals(num)){// salary emp.setsal(newsal); }}} // 4。従業員のpublic void delemp(string unm){// traversal for(int i = 0; i <al.size(); i ++){emp2 emp =(emp2)al.get(i); if(emp.getnum()。equals(unm)){// delete al.remove(i); //オブジェクトによる削除// al.remove(emp); }}}}4。従業員カテゴリ(従業員に関する基本情報を含む)
//従業員クラスの作成emp2 {private string name; public string getName(){return name; } public void setName(string name){this.name = name; } public string getnum(){return num; } public void setnum(string num){this.num = num; } public float getSal(){return sal; } public void setSal(float sal){this.sal = sal; } //文字は学生番号に表示される場合があるため、文字列プライベート文字列numとして定義されます。プライベートフロートサル; //コンストラクター、初期化の束public emp2(string num、string name、float sal){this.num = num; this.name = name; this.sal = sal; }}ここでは、従業員のクラスと従業員管理クラスが分離され、メソッドと属性がそれに応じてカプセル化され、それぞれが独自の義務を果たします。
テストクラスでは、それを使用したい場合は、メソッドがどのように実装され、どの機能があるかを心配することなく、クラスのメソッドを呼び出すだけです。これは、オブジェクト指向の良いプログラミングのアイデアです。
DOSでコンパイルすると、.javaファイルのすべてのクラスが.classファイルに個別にコンパイルされることがわかります。 IDEを使用した後、私はこれに注意を払いませんでした。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。