2013-09-26 1 views
0

나는 줄 단위로 텍스트 파일을 읽고 split 메서드를 사용하여 분할 한 다음이를 obect의 ArrayList에 넣을 수있었습니다. 나는 화면에 데이터를 재 인쇄 할 수 있습니다. 이제는 POLYMORPHICALLY/USING INHERITANCE (유형 B 또는 C 또는 S에 따라 다름)를 계산하여 관심도를 계산하고 유형 옆에 인쇄해야합니다. 어떻게해야합니까? 누군가가 많이 감사 할 코드 예제를 제공 할 수 있다면! 나는 비즈니스를위한 하나의 클래스를 만들고, 저장하고, 저장하고, (모든 메소드를 가지고있는) 나의 account 클래스에서 그것을 확장해야만한다고 생각한다. 그리고 각각의 메소드에서 calculate interest를 말하는 메소드를 작성하지만 정확히 무엇을 해야할지 모르겠다. 이 여기에 interst polymorphically/inheritance를 계산하는 방법

홈페이지 두 클래스 프로그램

List<accounts_class> bank_data = new ArrayList<accounts_class>(); 
try 
{ 
    String thisline = null; 
    FileReader fr = new FileReader("banking.txt"); 
    BufferedReader br = new BufferedReader(fr); 
    while((thisline=br.readLine()) != null) 
    { 

    String[] array=thisline.split("\t"); //it goes from array[0] to array[5] 
    accounts_class bank_info = new accounts_class(); 
    bank_info.set_name(array[0]); 
    bank_info.set_account_number(array[1]); 
    bank_data.add(bank_info); 

    } 
    fr.close(); 
} 
catch (Exception e)               
{ 
    System.out.println(e.getMessage()); 
} 

for (accounts_class bank_info : bank_data) 
{ 

    System.out.println(bank_info.get_name() + "\t" 
     + bank_info.get_account_number() + "\t" 
    } 

내 코드 내 방법 클래스 코드는 이것이다에서 수행 개인 문자열 이름;

public String get_name() {return name;} 

public void set_balance(double balance) 
{ 
    this.balance = balance; 

} 


     //have methods for all fields like this and then have get_balance, get_account_type, get_phone....etc same thing for set_name too and all others. 

그리고이 클라스를 확장 한 비즈니스, 저축 및 확인을위한 클래스를 만들었으나 지금은 아무 것도 없습니다. 각 계정 유형에 대한이자를 개별적으로 계산하기 위해 거기에이자를 계산하는 방법을 제시 할 것입니다.이 프로그램을 다형성으로/상속을 사용해야한다는 것을 기억하십시오.

+0

기본 계정 클래스에서 추상 메소드'calculateInterest'를 추가하십시오. 그런 다음 각 계정 유형에 대해 구현해야합니다. – Supericy

+0

당신은 무엇을 의미합니까 .... 나는 어떻게 그것이 다형성으로 간주 될지 모르겠다. 아마 코드가 더 설명 적이 될지도 모른다. 고맙다. – user2817778

답변

2
public abstract class accounts_class { 
    private String account_number; 
    private String name; 
    private String phone_number; 
    private String ssn; 
    private double balance; 
    private String account_type; 

    public String get_name() 
     { 
    {return name;} 

    public void set_balance(double balance) 
    { 


     this.balance = balance; 

    } 

    public abstract double computeInterest(); 
} 

하위 클래스 (비즈니스, 저축 및 확인)에 추상 메소드 computeInterest()을 구현하십시오. 따라서 상속과 다형성을 모두 구현할 수 있습니다.

+0

괜찮지 만 메인 클래스에서 무엇을해야합니까 .... 어떻게 클래스 나 비즈니스 클래스 또는 클래스를 저장하는 데 computeinterest 메소드를 사용할지 결정할 수 있습니다. 수행해야 할 작업이 있어야합니다. – user2817778

+0

@ User2817778 호출 코드에는 accounts_class를 상속 한 클래스 배열이 있습니다. computeInterest()를 호출하는 배열을 반복하면됩니다. Java는 클래스가 무엇인지에 따라 호출 할 메소드를 파악합니다. – Jason

+0

다른 계정의 개체를 만들고 account_class 참조에 할당 할 수 있습니다. 'computeInterest()'메소드가'account_class' 레퍼런스에서 호출 될 때, java compiler는 computeInterest() 메소드가 account_class에 존재하기 때문에 컴파일을 허용합니다. 그러나 런타임시 JVM은 메소드를 호출하는 객체 유형 (런타임 다형성)을 기반으로 메소드 호출을 해결합니다. 따라서 상속과 다형성을 모두 구현할 수 있습니다. –