ooオブジェクト向け

4431 ワード

OOオブジェクト向けOOPオブジェクト向けプログラミングOOAオブジェクト向け解析OODオブジェクト向け設計オブジェクト向け:私のソフトウェアをめぐってそれらの部分で完成した、あるいはそれらのオブジェクトによって作られた.見つかった問題ドメインのオブジェクトの後、各オブジェクトのプロパティと動作を記述するクラスを作成します.プロパティとは、オブジェクトにどのような値のデータがあるかを指します.プロセス向け:私は問題を解決して、私はそれらのことをして、その完成の流れはどのようにして、問題について問題を解決します.行為は対象が何ができるか、あるいは私たちがこれらの対象が何をしたいかです.万物はすべて対象で、対象は関心によって生まれます.クラスはオブジェクトの抽象であり、オブジェクトはクラスのインスタンスである.クラスは、同じ属性と動作を持つオブジェクトのセットの抽象です.ソフトウェアでは、クラスを使用して現実のエンティティをシミュレートします.
JAvaのクラスはキーワードclassで宣言され、javaソースファイルには共通クラス(public)が1つしか含まれていません.ファイルは共通クラスのクラス名と同じでなければなりません.ファイル拡張子はjavaです.
/**
        
 * */
public class Student {
    /**
     *                  。
     *                        ,         。
     *         ,          。
     *           ,                      。
     *
     *           ,              。
     *
     *     :             ,                 。
     *      ,                ,               。
     *
     *     :             ,            。
     *      ,                ,      ,     。
     *
     *          java            ???
     *
     *
     *
     * */
    /**
     *   
     */
    public String name;
    /**
     *   
     */
    public int age;
    /**
     *   
     */
    public int[] scores;
    /**
     *   
     */
    public String subject;
    /**
     *   ,  
     */
    public final String CLSS_NAME = "J174";

    /**
     *  :      ,       。
     *         ,                 。
     *
     *       ,static        ,90%       static 。
     * java               ,     ,      static  ,  。
     *
     * */

    /**
     *     
     */
    public void introduce() {
        System.out.println("  " + name + ",  " + age + " ");
    }

    /**
     *          ,  new   ,      ();
     *          = new       ();
     */
    /**
     *         :       0,       null
     *
     * Student stu ====        4      
     *                            Studtent      
     *                     “     ”
     * new Student() =====          Student   
     *                                
     *                                  。 -------------Student     
     *        :
     *      ,      ,           ,               “  ”
     *                  “   ”
     *
     * */
    //      --- (     )     “ . ”      .       
    /**
     * "."                   “ ” 
     *  stu name ==== stu.name
     *  stu age ===== stu.age
     *
     * */
    
}

クラスの定義
public class Student {
    /**
     *   
     */
    public String name;
    /**
     *   
     */
    public int age;
    /**
     *   
     */
    public int[] scores;
    /**
     *   
     */
    public String subject;
    /**
     *   ,  
     */
    public final String CLSS_NAME = "J174";

クラスを使用します.
import Studet.Student;   //      
import java.util.Arrays; //          
public class Main {
    public static void main(String[] args) {
        Student stu = new Student(); //     
        stu.age = 18;
        stu.name = "zhangsan";
        stu.scores = new int[5];
        stu.scores[0] = 1;
        System.out.println(Arrays.toString(stu.scores));
        System.out.println(stu.age);
        System.out.println(stu.name);
        System.out.println(stu.CLSS_NAME);
    }
}

nullは何も空いていません.オブジェクトの破棄時にjavaでのゴミ回収メカニズム(GC)で完了します.独自のアルゴリズムルールがあります.プログラマーはコードで制御することはできません.いつ回収するか、何を回収するかを制御します.ゴミ回収の多くのアルゴリズムには、参照指定されていない対象を自動的に回収する基本ルールがあります.したがって、1、プログラムの途中でオブジェクトを回収したい場合は、アクティブにの参照をnullに割り当てます.=null. クラス内が空の場合は空ポインタ異常を報告します.2、オブジェクトの参照変数(オブジェクト名空間)がローカル変数である場合、その属するモジュールの実行は終了する.この変数のライフサイクルが終了すると、変数が消失し、その指向するオブジェクトも参照指向がなく、回収される.3、プログラマはコードレベルでゴミ回収と交差するコードが1つしかない.System.gc()注意:このコードの役割は自発的にごみの回収を呼び出すのではなく、ごみの回収を呼び出すことですが、ごみの回収収集器は受け取りたくないので、いつ受け取るか、それらのごみを受け取るかはそれ自身のアルゴリズムで決まります.new student().gae = 30; 1つのオブジェクトを1回だけ使用すると、そのオブジェクトに変数名を付けずにnewが出てきてそのまま使用でき、使い終わったら参照がないため回収されます.
アクセス修飾子は全部で3つのキーワード、4つの状況です.次に、public(共通)、private(プライベート)、public修飾のプロパティまたはメソッドの2つだけを把握し、同じプロジェクト内の任意の場所でアクセスできます.private修飾子のプロパティまたはメソッドは、このクラスでアクセスできます.
変数プロパティはjavaの公式仕様に基づいてprivateとして定義され、get/setメソッドを提供し、外部操作に値/付与されます.getメソッドは、アクセサと呼ばれます.setメソッドにのみアクセスできるのは、モディファイヤと呼ばれます.変更可能
どちらもフォーマットとネーミングには標準的な仕様があります.書式:private String name;グローバル変数(プロパティ)とローカル変数が重複している場合、グローバル変数にアクセスするには+this.アクセスする名前この場合のthisは、生活の各オブジェクトが言う「私」に相当します.を選択します.このメリット:開発中、この場合、開発効率を向上させるヒントが得られます.提案:このクラスの現在のオブジェクトの属性と動作にアクセスするときは、thisを書く習慣を身につけます.いつになるか考えなくてもいい