대상을 향한 기본 개념 - 2018년 4월 22일(소감노트)

2040 단어 소감

대상 비교


일반적인 비교:
class Book {
    private String title;
    private double price;
    public Book(String title, double price) {
        this.title = title;
        this.price = price;
    }
    public String getTitle() {
        return this.title;
    }
    public double getPrice() {
        return this.price;
    }
}
public class TestDemo {
    public static void main(String args[]) {
        Book b1 = new Book("Java ", 79.8);				//  Book 
        Book b2 = new Book("Java ", 79.8);				//  Book 
        if (b1.getTitle().equals(b2.getTitle())
              && b1.getPrice() == b2.getPrice()) {			//  
           System.out.println(" !");
        } else {
           System.out.println(" !");
        }
    }
}

그러나 이런 상황은 좋지 않다. 왜냐하면 자바 프로그램에서main 방법의 물건이 정련될수록 좋기 때문이다.

다음은 간단한 대상을 비교하는 조작 코드인데 이런 것들은 일반적으로 고정된 코드이다.모두 고정된 절차에 따라 같은 대상의 검증을 하고 대상의 비교this는 현재 대상의 출현을 나타낸다.

package com.smxy;
class Book{
	private int id;
	private String name;
	
	public Book(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	public boolean compare(Book book){// compare , ,this b1 ,book b2 
		if(this == null){
			return false;
		}
		if(this == book){// 
			return true;// 
		}
		if(this.id==book.id&&this.name.equals(book.name)){
			return true;
		}else{
			return false;
		}
		
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}
public class Text0422 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Book b1 = new Book(1, " ");
		Book b2 = new Book(2, " ");
		if(b1.compare(b2)){
			System.out.println(" ");
		}else{
			System.out.println(" ");
		}
		
	}

}

요약:
            1.대상 비교는 반드시 특정한 유형이 스스로 정의한 기능이다.
            2.대상을 비교할 때null인지, 주소가 같은지, 속성이 같은지 반드시 판단해야 한다.

좋은 웹페이지 즐겨찾기