Bài 5 – Hướng Đối Tượng Trong Java

Thứ Sáu, 20 tháng 4, 2012




class
Đây là một class, class này có hai property (thuộc tính) là name và age


public class Person
{
               
String name;
               
int age;
}


Đây là một class, class này ngoài property còn có constructor (khởi tạo) của class đó



public class Person
{
               
String name;
               
int age;
               
public Person(String name)
               
{
                               
this.name = name;
               
}
}


Trong cái constructor này hãy lưu ý một điều, đó là biến this. Biến this có nghĩa là bản thân cái class đó (ở đây là class Person).
Trong class Person có một property là age, câu this.age = age có nghĩa là cái thuộc tính age của class Person sẽ nhận giá trị ở cái đối số age do constructor Person(int age) đưa vào.
Lưu ý là mọi class đều có sẵn ít nhất một constructor không có đối số.
Đây là một class, class này ngoài property, constructor còn có một behavior (hành vi)


public class Person
{
               
String name;
               
int age;
               
public Person(int age)
               
{
                               
this.age = age;
               
}
               
public void Nhap()
               
{
                                nameonsole
.readLine("Nhap ho ten:");
               
}
}


Khi ta viết câu lệnh sau
Person personOne = new Person(12);
Thì ta đã tạo ra một instance (thể hiện) là personOne của class Person 

Khai báo một class
public abstract class MyClass {}
Từ thứ 1 là khai báo quyền truy xuất và kế thừa,có 3 loại
-public:được phép truy xuất từ bất cứ nơi nào và bất cứ lớp nào cũng được quyền kế thừa
-protected:chỉ có phương thức cùng gói được phép truy xuất và kế thừa
-private:chỉ có phương thức cùng gói được phép truy xuất nhưng không lớp nào được phép kế thừa
-nếu không khai báo,mặc định là protected
Từ thứ 2 là khai báo một lớp trừu tượng hay là không trừu tượng
Nhiem vu: tao 1 lop Person, tao tiep 2 lop Students va Teachers ke thua lop Person, tao lop Execute chua ham chinh de chay chuong trinh.
--lop Person-


import corejava.*;
abstract class Person
{
               
//cai nay goi la cac property hay state-thuoc tinh cua doi tuong
               
String hoten;
               
int age;
               
String diachi;
               
int luong;
               
//cac constructor
               
public Person(int age)
               
{
                               
this.age = age;
               
}
               
//cac method hay behavior-hanh vi cua doi tuong
               
public void Nhap()
               
{
                                hoten
= Console.readLine("Nhap ho ten:");
                                diachi
= Console.readLine("Nhap dia chi:");
               
}
               
//vi la 1 class thuoc loai abstract nen Person duoc phep khai bao cac method khong co noi dung, noi dung cua class In se duoc cac lop ke thua no them vao noi dung cua rieng no
         
public abstract void In();
               
public abstract int Tinhluong();
}

--lop Students-

import corejava.*;
class Students extends Person
{
               
int MaSV,Malop;
               
public void Nhap()
               
{
                               
super.Nhap();
                               
MaSV = Console.readInt("Nhap ma SV:");
                               
Malop = Console.readInt("Nhap ma lop:");
               
}
               
public void In()
               
{
                               
System.out.println(hoten);
                               
System.out.println(diachi);
                               
System.out.println(MaSV);
                               
System.out.println(Malop);
               
}
               
public int Tinhluong()
               
{
               
return 150000;
               
}
}

tu khoa super se goi ham Nhap() tu lop Person la cha cua lop Students
--lop Teachers-

import corejava.*;
class Teachers extends Person
{
               
int Makhoa;
               
public void Nhap()
               
{
                               
super.Nhap();
                               
Makhoa = Console.readInt("Nhap ma khoa::");
               
}
               
public void In()
               
{
                               
System.out.println(hoten);
                               
System.out.println(diachi);
                               
System.out.println(Makhoa);
               
}
               
public int Tinhluong()
               
{
                               
return 500000;
               
}
}
--lop Execute-
import corejava.*;
class Execute
{
               
public static void main(String args[])
               
{
                               
Students st = new Students();
                                st
.Nhap();
                                st
.In();
                                st
.luong=st.Tinhluong();
                               
Teachers tc = new Teachers();
                                tc
.Nhap();
                                tc
.In();
                                tc
.luong=tc.Tinhluong();
               
}
}



nguồn: http://forum.cuasotinhoc.vn
Xem thêm bài viết cùng chuyên mục: ,

Ý kiến bạn đọc [ 0 ]


Ý kiến của bạn