簡體   English   中英

如何在Java中編碼封裝

[英]how to code encapsulation in java

我將如何將此代碼轉換為封裝? 他們說封裝是數據隱藏,我知道如何做一些重載和重載,但不是封裝,請幫助我解決問題。 我在Java編程方面不太好,謝謝!

公共類自動櫃員機{

public static void main(String[] args) {
   Scanner input = new Scanner(System.in);

   int bal = 1000;
   int balance =+ bal;

    System.out.println("===ATM Simulator===");
    System.out.println("\n[B] Balance");
    System.out.println("[W] Withdraw");
    System.out.println("[D] Deposit");
    System.out.println("[E] Exit");
    do{
    System.out.println("\nChoose Your Transaction:");
    String trans = input.next();
    try {
    if(trans.equalsIgnoreCase("W"))
    {
        System.out.println("Enter the Amount to Withdraw: [1000,500,200,100]");
        int wdraw = input.nextInt();
        int withd = wdraw;
        int charge = 10;
        if (withd%100==0)
        {
            balance = balance - withd - charge;
            System.out.println("Your current balance is now: "+balance);
        }
        else
        {
            System.out.println("Value Not in Range!");
        }
    }
    if(trans.equalsIgnoreCase("D"))
    {
        System.out.println("Enter the Amount to Deposit:");
        int deposit = input.nextInt();
        balance = balance + deposit;
        System.out.println("Your current balance is now: "+balance);
    }
    if(trans.equalsIgnoreCase("B"))
    {
        System.out.println("Your Current Balance is: "+balance);
    }

    if(trans.equalsIgnoreCase("E"))
    {
        System.out.println("Transaction Ended!\nThank you!");
        System.exit(0);
    }
        }
    catch (Exception e)
     {
         System.out.println("Invalid Input!");       
     }
    }
    while (balance>=200); 
}

}

封裝是“隱藏”類的字段的方法,以便只能通過類的方法訪問它們(從而控制可以設置字段和不能設置字段的內容)

參見-http: //www.tutorialspoint.com/java/java_encapsulation.htm

EG:如果一個類有一個size字段,則可以將size字段設置為私有,然后在該類上提供setSize方法-然后可以在setSize方法中添加驗證以控制可以設置和不能設置的大小

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM