วันอาทิตย์ที่ 11 มีนาคม พ.ศ. 2555

mypg


package mypg;

import java.util.*;

public class Geometric {
private String color = "white";
private Date dateCreated;
public Geometric()
{
dateCreated = new Date();

}
public Geometric (String color)
{
this.color = color;
}
public void setColor(String color)
{
this.color = color;
}
public String getColor()
{
return this.color;
}
public Date getDate()
{
return dateCreated;
}
}
+++++++++++++++++++++++++++++++
package mypg;

public class Circle extends Geometric{
private double radius;

public Circle (double radius)
{
this.radius = radius;

}
public Circle(double radius,String color)
{
this.radius = radius;
setColor(color);
}
public double getArea()
{
return radius * radius * Math.PI;
}
}
+++++++++++++++++++++++++++++++++
package mypg;

public class Test {

public static void main(String[] args) {
Geometric geo1 = new Geometric();
System.out.println(geo1.getColor()+" ; "+geo1.getDate());
Circle cir1 = new Circle(4);
cir1.setColor("red");
System.out.println(cir1.getColor()+ " ; " +cir1.getDate() + " ; " +cir1.getArea());

}

}


Polymorphism


nแปลว่า หลายรูปทรง แปลงสภาพได้
Example
class CustomerData{
   protected void CustomerPhone(){
        System.out.println(“02 123 456”);
   {
   protect void ClearAll(){
        System.out.println(“Delete All Data”);
   }
}
+++++++++++++++++++++++++++++++++++++++++ๅๅๅๅ
เวลาเรียกใช้
class CustomerData2 extends CustomerData {
   protected void CustomerPhone(){
         super.CustomerPhone();
         System.out.println(“02 123 456 7”);
   {
   protect void ClearAll(){
   }
}


Inheritance


nแปลว่า การสืบสันดาน หรือ การสืบมรดก
nต่อยอดงานใหม่ จากงานเก่าไม่ต้องเริ่มจากศูนย์
nภาษา OOP สนับสนุน Inheritance เสมอ
Example
class Foo{
   public void WriteFoo(){
      System.out.println(“Foo”);
   }
}

class Bar extends Foo{
   public void WriteBar(){
      System.out.println(“Bar”);
   }
}

+++++++++++++++++++++++++++++++++++++++++ๅ
เวลาเรียกใช้
class Program{
   public static void main (String[] args){
      Bar myBar = new Bar();
      myBar.WriteFoo();
      myBar.WriteBar();
   }



Overloaded Constructor


nเป็นคอนสตรัคเตอร์กำหนดเอง
nคอนสตรัคเตอร์ทุกตัวชื่อเหมือนกับคลาส
nทำการรับพารามิเตอร์ไม่เหมือนกัน

class Calculator{
  Calculator(int x){
  return x + x;}
   Calculator(int x, int y){
  return x + y;}  
   Calculator(int x, int y, int z){
  return x + y + z;}
}

เวลาเรียกใช้คอนสตรัคเตอร์
class TestCalculator{
  public static void main(String[] args) {
  Calculator a = new Calculator();
  System.out.println(a.Calculator(1));
 
  Calculator b = new Calculator();  
  System.out.println(b.Calculator(1, 2));
  Calculator c = new Calculator();
  System.out.println(c.Calculator(1, 2, 3));
  }
}


โอเวอร์โหลดเมธอด


public class TestOver1 {
  public static int add() {
  return 0;       }
  public static int add(int x) {
  return x;      }
  public static int add(int x, int y)   {
  return x+y;               }
  public static int add(int x, int y, int z) {
  return x+y+z;                      }


เวลาเรียกใช้เมธอด
  public static void main(String[] args)                   
{
  System.out.println("Sum = "+add());
  System.out.println("Sum = "+add(3));
  System.out.println("Sum = "+add(1,2));
  System.out.println("Sum = "+add(1,2,3)); }
}
Test_java2