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

Bài giảng Lập trình hướng đối tượng: Bài 5 - Các kỹ thuật xây dựng lớp và sử dụng đối tượng

79 11 0

Đ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 79
Dung lượng 0,92 MB

Nội dung

Bài giảng Lập trình hướng đối tượng: Bài 2 - Các kỹ thuật xây dựng lớp và sử dụng đối tượng được biên soạn bao gồm các nội dung chính sau: Chồng phương thức; Thành viên ĐT và thành viên lớp; Truyền tham số cho phương thức; Một số lớp tiện ích trong Java; Ví dụ và bài tập. Mời các bạn cùng tham khảo bài giảng.

Bài 5: Các kỹ thuật xây dựng lớp sử dụng đối tượng Nội dung Chồng phương thức Thành viên ĐT thành viên lớp Truyền tham số cho phương thức Một số lớp tiện ích Java Ví dụ tập Nội dung Chồng phương thức Thành viên ĐT thành viên lớp Truyền tham số cho phương thức Một số lớp tiện ích Java Ví dụ tập Nhắc lại phương thức ❖ Mỗi phương thức phải có chữ ký riêng ❖ Chữ ký phương thức bao gồm: ▪ Tên phương thức ▪ Số lượng đối số kiểu chúng 1.1 Chồng phương thức ❖ Chồng phương thức (Method Overloading): Các phương thức lớp trùng tên chữ ký phải khác nhau: ▪ Số lượng tham số khác ▪ Nếu số lượng tham số kiểu liệu tham số phải khác ❖ Mục đích: ▪ Tên trùng để mô tả chất công việc ▪ Thuận tiện cho lập trình khơng cần phải nhớ nhiều tên phương thức mà cần nhớ tên lựa chọn tham số cho phù hợp 1.1 Chồng phương thức (2) ❖ Ví dụ 1: ▪ Phương thức println() System.out.println() có 10 khai báo với tham số khác nhau: boolean, char[], char, double, float, int, long, Object, String, khơng có tham số ▪ Không cần sử dụng tên khác (chẳng hạn "printString“ "printDouble“) cho kiểu liệu muốn hiển thị 1.1 Chồng phương thức (3) ❖ Ví dụ 2: class MyDate { int year, month, day; public boolean setMonth(int m) { …} public boolean setMonth(String s) { …} } public class Test{ public static void main(String args[]){ MyDate d = new MyDate(); d.setMonth(9); d.setMonth(”September”); } } Một số ý với chồng phương thức ❖ Các phương thức xem xét chồng chúng thuộc lớp ❖ Chỉ nên sử dụng kỹ thuật với phương thức có mục đích, chức năng; tránh lạm dụng ❖ Khi dịch, trình dịch vào số lượng kiểu liệu tham số để định gọi phương thức phù hợp → Nếu không chọn chọn nhiều phương thức báo lỗi Thảo luận ❖ Cho phương thức sau đây: public double test(String a, int b) ❖ Hãy chọn phương thức chồng cho phương thức trên: void test(String b, int a) public double test(String a) private int test(int b, String a) private int test(String a, int b) double test(double a, int b) double test(int b) public double test(String a, long b) Thảo luận void void void void void void void void prt(String s) { System.out.println(s); } f1(char x) { prt("f1(char)"); } f1(byte x) { prt("f1(byte)"); } f1(short x) { prt("f1(short)"); } f1(int x) { prt("f1(int)"); } f1(long x) { prt("f1(long)"); } f1(float x) { prt("f1(float)"); } f1(double x) { prt("f1(double)"); } ❖ Điều xảy thực hiện: ▪ ▪ ▪ ▪ f1(5); char x=‘a’; f1(x); byte y=0; f1(y); float z = 0; f1(z);… → int 10 4.4 StringBuffer ❖ String kiểu bất biến: ▪ Đối tượng không thay đổi giá trị sau tạo → Các xâu lớp String thiết kế để không thay đổi giá trị ▪ Khi xâu ghép nối với đối tượng tạo để lưu trữ kết → Ghép nối xâu thông thường tốn nhớ ❖ StringBuffer kiểu biến đổi: ▪ Đối tượng thay đổi giá trị sau tạo 66 4.4 StringBuffer (2) ❖ String s = new String(“hello”); String t = s; s = new String(“goodbye”); 67 4.4 StringBuffer (3) ❖ StringBuffer: ▪ Cung cấp đối tượng xâu thay đổi giá trị → Sử dụng StringBuffer khi: • Dự đốn ký tự xâu thay đổi • Khi xử lý xâu cách linh động, ví dụ đọc liệu text từ tệp tin ▪ Cung cấp chế hiệu cho việc xây dựng, ghép nối xâu: • Việc ghép nối xâu thường trình biên dịch chuyển sang thực thi lớp StringBuffer 68 4.4 StringBuffer (4) ❖ Tính biến đổi: Nếu đối tượng bị biến đổi, tất quan hệ với đối tượng nhận giá trị 69 4.4 StringBuffer (5) ❖ Nếu tạo xâu thơng qua vịng lặp sử dụng StringBuffer StringBuffer buffer = new StringBuffer(15); buffer.append("This is ") ; buffer.append("String") ; buffer.insert(7," a") ; buffer.append('.'); System.out.println(buffer.length()); // 17 System.out.println(buffer.capacity()); // 32 String output = buffer.toString() ; System.out.println(output); // "This is a String." 70 4.5 Lớp Math ❖ java.lang.Math cung cấp thành phần static: ▪ Các toán học: • Math.E • Math.PI ▪ Các hàm toán học: • • • • • max, abs, floor, ceil… sqrt, pow, log, exp… cos, sin, tan, acos, asin, atan… random 71 4.5 Lớp Math (2) ❖ Hầu hết hàm nhận tham số kiểu double giá trị trả có kiểu double ▪ Ví dụ : Math.pow(Math.E, Math.sqrt(2.0*Math.PI)) Hoặc: Math.exp(Math.sqrt(2.0*Math.PI)) 72 4.6 Lớp System ❖ java.lang.System chứa nhiều hàm tiện ích hữu dụng ▪ Kiểm sốt vào (I/O) chuẩn • Các luồng InputStream in, PrintStreams out err thuộc tính lớp System • Có thể thiết lập lại nhờ hàm setIn(), setOut() setErr() ▪ arraycopy(): Sao chép mảng tập với hiệu cao 4.6 Lớp System (2) ❖ currentTimeMillis(): Trả thời gian theo millisecond ❖ exit(): Kết thúc hoạt động Java Virtual Machine ❖ gc(): Yêu cầu thu gom rác hoạt động ❖ Các phương thức liên quan đến thuộc tính hệ thống: Lấy thơng tin thuộc tính phiên Java Runtime Environment version, thư mục cài đặt Java, 4.6 Lớp System (3) import java.util.Properties; public class PropertiesTest { public static void main(String[] args) { System.out.println(System.getProperty("path.separator")); System.out.println(System.getProperty("file.separator")); System.out.println(System.getProperty("java.class.path")); System.out.println(System.getProperty("os.name")); System.out.println(System.getProperty("os.version")); System.out.println(System.getProperty("user.dir")); System.out.println(System.getProperty("user.home")); System.out.println(System.getProperty("user.name")); } } 4.6 Lớp System (4) Nội dung Chồng phương thức Thành viên ĐT thành viên lớp Truyền tham số cho phương thức Một số lớp tiện ích Java Ví dụ tập 77 Bài tập ❖ Tiếp tập học trước, sử dụng thành viên lớp để cài đặt đếm số đối tượng lớp NhanVien tạo thời điểm nào, đâu Cài đặt minh họa cách thức sử dụng 78 Bài tập ❖ Cài đặt phương thức, đầu vào số lượng đối tượng lớp NhanVien, đầu tổng lương đối tượng 79 Bài tập ❖ Sử dụng lớp System đếm thời gian phép cộng xâu nhiều lần với String, dùng phương thức append với StringBuffer để so sánh hiệu 80 ... Từ khóa this ❖ Nhắc lại: Tự tham chiếu đến đối tượng tại, sử dụng bên lớp tương ứng với đối tượng muốn tham chiếu ❖ Sử dụng thuộc tính phương thức đối tượng thơng qua tốn tử “.”, ví dụ: public... tính lớp thuộc tính đối tượng ❖ Giá trị thuộc ❖ Giá trị thuộc tính lớp các đối tính đối tượng tượng khác đối tượng khác giống khác 29 Nội dung Chồng phương thức Thành viên ĐT thành viên lớp Truyền... member Thành viên đối tượng Thành viên lớp ❖ Thuộc tính/phương ❖ Thuộc tính/phương thức truy thức truy cập cập thông qua lớp thông qua đối tượng ❖ Các đối tượng có ❖ Mỗi đối tượng có chung sao

Ngày đăng: 28/01/2023, 23:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN