1. Trang chủ
  2. » Công Nghệ Thông Tin

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNGVỚI JAVA ppt

65 201 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 0,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung  Khai báo lớp đối tượng  Khai báo thuộc tính  Định nghĩa các phương thức khởi tạo  Định nghĩa các phương thức get/set  Định nghĩa các phương thức nhập xuất console  Đ

Trang 1

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Trang 2

Nội dung

 Khai báo lớp đối tượng

 Khai báo thuộc tính

 Định nghĩa các phương thức khởi tạo

 Định nghĩa các phương thức get/set

 Định nghĩa các phương thức nhập xuất console

 Định nghĩa các phương thức xử lý nghiệp vụ

 Định nghĩa các phương thức overload

 Định nghĩa các phương thức mức lớp (static)

Trang 3

KHAI BÁO LỚP

Trang 4

public class PhanSo{

//Khai báo các thuộc tính

//Khai báo các phương thức

}

Trang 5

KHAI BÁO THUỘC TÍNH

Trang 6

Khai báo thuộc tính

Trang 7

Khai báo thuộc tính

public class PhanSo{

//Khai báo các thuộc tính

private int tuSo;

private int mauSo ;

//Khai báo các phương thức

}

Trang 8

Khai báo thuộc tính

public class MangSoNguyen{

//Khai báo các thuộc tính

private int [] arr;

//Khai báo các phương thức

public class MangPhanSo{

//Khai báo các thuộc tính

private PhanSo [] arr;

//Khai báo các phương thức

}

Trang 9

HỎI VÀ ĐÁP

Trang 10

PHƯƠNG THỨC KHỞI TẠO ĐỐI TƯỢNG

Trang 11

Định nghĩa phương thức khởi tạo đối tượng

public class TenLop{

//Khai báo các thuộc tính

private KieuDuLieu thuocTinh1;

private KieuDuLieu thuocTinhN ;

//Phương thức khởi tạo mặc định

public TenLop(){

this.thuocTinh1= Giá trị mặc định ; this.thuocTinhN= Giá trị mặc định ;

} //Phương thức khởi tạo đầy đủ tham số

public TenLop(KieuDuLieu thuocTinh1, , KieuDuLieu thuocTinhN){ this.thuocTinh1=thuocTinh1;

this.thuocTinhN=thuocTinhN;

} //Phương thức khởi tạo sao chép

public TenLop(TenLop tl){

this.thuocTinh1=tl.thuocTinh1; this.thuocTinhN=tl.thuocTinhN;

} }

Trang 12

Định nghĩa phương thức khởi tạo đối tượng

public class PhanSo{

//Khai báo các thuộc tính

private int tuSo;

private int mauSo ;

//Phương thức khởi tạo mặc định

public PhanSo(){

this.tuSo= 1 ; this.mauSo= 2 ; }

//Phương thức khởi tạo đầy đủ tham số

public PhanSo(int tuSo, int mauSo){

this.tuSo=tuSo;

this.mauSo=mauSo;

} //Phương thức khởi tạo sao chép

public PhanSo(PhanSo ps){

this.tuSo=ps.tuSo;

this.mauSo=ps.mauSo;

} }

Trang 13

Định nghĩa phương thức khởi tạo đối tượng

public class Main {

public static void main(String[] args) { PhanSo ps1=new PhanSo();

PhanSo ps2=new PhanSo(2,3);

PhanSo ps3=new PhanSo(ps2);

}

}

Trang 14

Định nghĩa phương thức khởi tạo đối tượng

public class MangPhanSo {

//Khai báo thuộc tính

private PhanSo[] arr;

//Phương thức khởi tạo mặc định

public MangPhanSo() {

this.arr = null;

}

//Phương thức khởi tạo có tham số

public MangPhanSo(PhanSo arr) {

this.arr = new PhanSo[arr.length];

for (int i = 0; i < arr.length; i++) {

this.arr[i] = new PhanSo(arr[i]);

}

}

//Phương thức khởi tạo sao chép

public MangPhanSo(MangPhanSo mps) {

this.arr = new PhanSo[mps.arr.length];

for (int i = 0; i < mps.arr.length; i++) {

this.arr[i] = new PhanSo(mps.arr[i]);

}

}

}

Trang 15

Định nghĩa phương thức khởi tạo đối tượng

MangPhanSo mps1=new MangPhanSo();

//Sử dụng phương thức khởi tạo có tham số

MangPhanSo mps2=new MangPhanSo(new PhanSo( 2 , 3 )); MangPhanSo mps3=new MangPhanSo(new PhanSo( 1 , 3 ), new PhanSo( 4 , 3 ), new PhanSo( 5 , 9 )); PhanSo [] arr = new PhanSo[ 2 ];

arr[ 0 ]=new PhanSo( 2 , 4 );

arr[ 1 ]=new PhanSo( 3 , 7 );

MangPhanSo mps4=new MangPhanSo(arr);

//Sử dụng phương thức khởi tạo sao chép

MangPhanSo mps5=new MangPhanSo(mps3);

}

}

Trang 16

Định nghĩa phương thức khởi tạo đối tượng

public class MangSoNguyen {

//Khai báo thuộc tính

private int [] arr;

//Phương thức khởi tạo mặc định

public MangSoNguyen() {

this.arr = null;

}

//Phương thức khởi tạo có tham số

public MangSoNguyen( int arr) {

this.arr = new int [arr.length];

for (int i = 0; i < arr.length; i++) {

this.arr[i] = arr[i];

}

}

//Phương thức khởi tạo sao chép

public MangSoNguyen(MangSoNguyen msn) {

this.arr = new int [msn.arr.length];

for (int i = 0; i < msn.arr.length; i++) {

this.arr[i] = msn.arr[i];

}

}

}

Trang 17

Định nghĩa phương thức khởi tạo đối tượng

public class Main {

public static void main(String[] args) { //Sử dụng phương thức khởi tạo mặc định

MangSoNguyen msn1=new MangSoNguyen();

//Sử dụng phương thức khởi tạo có tham số

MangSoNguyen msn2=new MangSoNguyen(3));

MangSoNguyen msn3=new MangSoNguyen(3, 2, 8); MangSoNguyen msn4=new MangSoNguyen(4, 9, 1, 5); int [] arr = new int{3,4,7};

MangSoNguyen msn5=new MangSoNguyen(arr);

//Sử dụng phương thức khởi tạo sao chép

MangSoNguyen msn6=new MangSoNguyen(mps3);

}

}

Trang 18

HỎI VÀ ĐÁP

Trang 19

GETTER / SETTER

Trang 20

Định nghĩa các phương thức get/set

public class TenLop{

//Khai báo các thuộc tính

private KieuDuLieu thuocTinh1;

private KieuDuLieu thuocTinhN ;

//Các phương thức khởi tạo đối tượng

} public KieuDuLieu getThuocTinhN() { return thuocTinhN;

} public void setThuocTinhN(KieuDuLieu thuocTinhN) { this.thuocTinhN = thuocTinhN;

} }

Trang 21

Định nghĩa các phương thức get/set

public class PhanSo{

//Khai báo các thuộc tính

private int tuSo; private int mauSo ;

//Phương thức khởi tạo đối tượng

//Các phương thức get/set public int getTuSo() { return tuSo;

}

public void setTuSo(int tuSo) { this.tuSo = tuSo;

} public int getMauSo() { return mauSo;

}

public void setMauSo(int mauSo) {

if (mauSo != 0 ) { this.mauSo = mauSo;

} }

}

Trang 22

Định nghĩa các phương thức get/set

public class Main {

public static void main(String[] args) {

PhanSo ps1=new PhanSo();

System.out.println(ps1.getTuSo() + "/" + ps1.getMauSo()); ps1.setTuSo(3);

ps1.setMauSo(4);

System.out.println(ps1.getTuSo() + "/" + ps1.getMauSo()); }

}

Trang 23

Định nghĩa các phương thức get/set

public class MangPhanSo {

//Khai báo thuộc tính

private PhanSo[] arr;

//Phương thức khởi tạo mặc định

public PhanSo[] getArr() {

return arr;

}

public void setArr(PhanSo arr) {

this.arr = new PhanSo[arr.length];

for (int i = 0; i < arr.length; i++) { this.arr[i] = new PhanSo(arr[i]); }

}

}

Trang 24

Định nghĩa các phương thức get/set

public void set(int index, PhanSo value) {

if (index >= 0 && index < this.arr.length) { //this.arr[index] = new PhanSo(value);

Trang 25

Định nghĩa các phương thức get/set

public static void main(String[] args) {

MangPhanSo mps = new MangPhanSo( new PhanSo(1, 3),

new PhanSo(4, 3), new PhanSo(5, 9));

//Sử dụng get

PhanSo[] arr = mps.getArr();

int index = 1; PhanSo ps = mps.get(index);

Trang 26

Định nghĩa các phương thức get/set

public class MangSoNguyen {

//Khai báo thuộc tính

private int[] arr;

//Phương thức khởi tạo mặc định

public int[] getArr() {

return arr;

}

public void setArr(int arr) {

this.arr = new int[arr.length];

for (int i = 0; i < arr.length; i++) { this.arr[i] = rr[i];

}

}

}

Trang 27

Định nghĩa các phương thức get/set

public void set(int index, int value) {

if (index >= 0 && index < this.arr.length) { this.arr[index]=value;

}

}

public Integer get(int index) {

Integer value = null;

if (index >= 0 && index < this.arr.length) { value = this.arr[index];

}

return value;

}

}

Trang 28

Định nghĩa các phương thức get/set

public static void main(String[] args) {

MangSoNguyen mps = new MangSoNguyen( 3, 9, 5); //Sử dụng get

int[] arr = mps.getArr();

}

Trang 29

HỎI VÀ ĐÁP

Trang 30

NHẬP XUẤT CONSOLE

Trang 31

Định nghĩa các phương thức nhập xuất console

public class PhanSo{

//Khai báo các thuộc tính

private int tuSo;

private int mauSo ;

public void nhap(String tieuDe) { System.out.println(tieuDe);

Scanner scan = new Scanner(System.in);

Trang 32

Định nghĩa các phương thức nhập xuất console

public class Main {

public static void main(String[] args) {

PhanSo ps1=new PhanSo();

ps1.nhap(“Nhập phân số 1”);

ps1.xuat(“Xuất phân số 1”);

PhanSo ps2=new PhanSo();

ps2.nhap(“Nhập phân số 2”);

ps2.xuat(“Xuất phân số 2”);

}

}

Trang 33

Định nghĩa các phương thức nhập xuất console

public class MangPhanSo {

//Khai báo thuộc tính

private PhanSo[] arr;

public void nhap(String tieuDe){

Scanner scan=new Scanner(System.in);

System.out.println(tieuDe);

System.out.print("Số lượng phần tử:");

int n=Integer.parseInt(scan.nextLine());

this.arr=new PhanSo[n];

for(int i=0; i<this.arr.length; i++){

this.arr[i] = new PhanSo();

this.arr[i].nhap("Phân số thứ "+i);

}

}

}

Trang 34

Định nghĩa các phương thức nhập xuất console

this.arr[i].xuat("Phân số thứ "+i);

}

}

}

Trang 35

Định nghĩa các phương thức nhập xuất console

public static void main(String[] args) {

MangPhanSo mps=new MangPhanSo();

mps.nhap("Nhập mảng phân số");

mps.xuat("Xuất mảng phân số");

}

Trang 36

Định nghĩa các phương thức nhập xuất console

public class MangSoNguyen {

//Khai báo thuộc tính

private int [] arr;

public void nhap(String tieuDe){

Scanner scan=new Scanner(System.in);

}

}

Trang 37

Định nghĩa các phương thức nhập xuất console

System.out.print("Phân số thứ "+i+ ":"); System.out.println(this.arr[i]);

}

}

}

Trang 38

Định nghĩa các phương thức nhập xuất console

public static void main(String[] args) {

MangSoNguyen msn=new MangSoNguyen();

msn.nhap("Nhập mảng số nguyên");

msn.xuat("Xuất mảng số nguyên");

}

Trang 39

HỎI VÀ ĐÁP

Trang 40

XỬ LÝ NGHIỆP VỤ

Trang 41

Định nghĩa các phương thức xử lý nghiệp vụ

public class PhanSo{

//Khai báo các thuộc tính

private int tuSo;

private int mauSo ;

public PhanSo cong(PhanSo ps){

PhanSo kq=new PhanSo();

kq.tuSo=this.tuSo*ps.mauSo+this.mauSo*ps.tuSo; kq.mauSo=this.mauSo*ps.mauSo;

return kq;

}

}

Trang 42

Định nghĩa các phương thức xử lý nghiệp vụ

public class Main {

public static void main(String[] args) {

PhanSo ps1=new PhanSo();

ps1.nhap(“Nhập phân số 1”);

ps1.xuat(“Xuất phân số 1”);

PhanSo ps2=new PhanSo();

Trang 43

Định nghĩa các phương thức xử lý nghiệp vụ

public class MangPhanSo {

//Khai báo thuộc tính

private PhanSo[] arr;

Trang 44

Định nghĩa các phương thức xử lý nghiệp vụ

public static void main(String[] args) {

MangPhanSo mps=new MangPhanSo();

Trang 45

Định nghĩa các phương thức xử lý nghiệp vụ

public class MangSoNguyen {

//Khai báo thuộc tính

private int[] arr;

Trang 46

Định nghĩa các phương thức xử lý nghiệp vụ

public static void main(String[] args) {

MangSoNguyen msn=new MangSoNguyen();

msn.nhap("Nhập mảng số nguyên");

msn.xuat("Xuất mảng số nguyên");

int s=msn.tong();

System.out.println("Tổng mảng số nguyên: "+ s); }

Trang 47

HỎI VÀ ĐÁP

Trang 48

OVERLOAD

Trang 49

Định nghĩa các phương thức overload

public class PhanSo{

private int tuSo;

private int mauSo ;

public PhanSo cong(PhanSo ps){

PhanSo kq=new PhanSo();

kq.tuSo=this.tuSo*ps.mauSo+this.mauSo*ps.tuSo; kq.mauSo=this.mauSo*ps.mauSo;

return kq;

}

public PhanSo cong(int k){

PhanSo kq=new PhanSo();

Trang 50

Định nghĩa các phương thức overload

public class Main {

public static void main(String[] args) {

PhanSo ps1=new PhanSo(2, 3);

PhanSo ps2=new PhanSo(3, 4);

PhanSo kq1=ps1.cong(ps2);

kq1.xuat(“Tổng hai phân số ps1 và ps2”);

PhanSo kq2=ps1.cong(40);

kq2.xuat(“Tổng hai phân số ps1 và 40”); }

}

Trang 51

Định nghĩa các phương thức overload

public class MangPhanSo {

private PhanSo[] arr;

Trang 52

Định nghĩa các phương thức overload

public static void main(String[] args) {

MangPhanSo mps1=new MangPhanSo(); mps1.nhap("Nhập mảng phân số");

Trang 53

Định nghĩa các phương thức overload

public class MangSoNguyen {

private int[] arr;

Trang 54

Định nghĩa các phương thức overload

public static void main(String[] args) {

MangSoNguyen msn1=new MangSoNguyen();

Trang 55

HỎI VÀ ĐÁP

Trang 56

PHƯƠNG THỨC MỨC LỚP

(STATIC)

Trang 57

Định nghĩa các phương thức mức lớp (static)

public class PhanSo{

private int tuSo;

private int mauSo ;

public static PhanSo parsePhanSo(String str){

PhanSo kq=new PhanSo();

Trang 58

Định nghĩa các phương thức mức lớp (static)

kq1.xuat(“Tổng hai phân số ps1 và ps2”);

PhanSo kq2=ps1.cong(40);

kq2.xuat(“Tổng hai phân số ps1 và 40”); }

}

Trang 59

Định nghĩa các phương thức mức lớp (static)

public class MangPhanSo {

private PhanSo[] arr;

return mps;

}

}

Trang 60

Định nghĩa các phương thức mức lớp (static)

PhanSo s1=mps1.tong();

s1.xuat("Tổng mảng phân số 1");

MangPhanSo mps2=MangPhanSo.parseMangPhanSo( “4/3;7/6;9/2”);

mps2.nhap("Nhập mảng phân số");

PhanSo s2=mps1.tong(mps2);

s2.xuat("Tổng mảng phân số 1 & 2");

}

Trang 61

Định nghĩa các phương thức mức lớp (static)

public class MangSoNguyen {

private int[] arr;

public static MangSoNguyen parseMangSoNguyen(String str){ MangSoNguyen msn=new MangSoNguyen();

String []s=str.split( ";" );

msn.arr=new int[s.length];

for(int i= 0 ; i<s.length; i++){

Trang 62

Định nghĩa các phương thức mức lớp (static)

Trang 63

HỎI VÀ ĐÁP

Trang 64

Tài liệu tham khảo

 Nguyễn Hoàng Anh, Tập slide bài giảng và video môn Lập Trình Java, ĐH KHTN, 2010

 The Java Language Specification Third Edition (2005)

Trang 65

HỎI VÀ ĐÁP

Ngày đăng: 08/08/2014, 18:22

TỪ KHÓA LIÊN QUAN