Lập trình mạng bằng ngôn ngữ Java - Lập trình hướng đối tượng

Hướng đối tượng trong java (OOP)

Các khái niệm liên quan OOP

Các đặc điểm trong OOP

Các lớp cơ bản trong java

pdf43 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2748 | Lượt tải: 1download
Tóm tắt nội dung Lập trình mạng bằng ngôn ngữ Java - Lập trình hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
khoá final trước từ khoá class sẽ không được phép 
kế thừa. 
 Một lớp là final thì không là lớp trừu tượng 
abstract final class myclass{…} // Error 
 Trong java không có khái niệm lớp tĩnh: static class myclass() 
 Ví dụ 3: Tính đa hình trong java 
Xây dựng lớp cơ sở trừu tượng (Ví dụ: lớp shape) 
Xây dựng lớp dẫn xuất (Ví dụ: lớp rectangle) 
abstract: từ khoá khai báo lớp 
trừu tượng (lớp trừu tượng 
không được phép tạo đối tượng) 
mà chỉ được tham chiếu đến đối 
tượng 
abstract: phương thức trừu tượng. Lớp dẫn xuất bắt 
buộc phải định nghĩa lại phương thức này. 
Định nghĩa lại phương thức đã 
kế thừa 
 Ví dụ 3: Tính đa hình trong java 
Xây dựng lớp dẫn xuất (Ví dụ: lớp circle) 
Sử dụng các lớp đã xây dựng (main) 
Tuỳ theo đối tượng được 
tham chiếu mà phương 
thức tính diện tich của đối 
tượng tương ứng được sử 
dụng 
D 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
Các lớp cơ bản trong java: 
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 
 java.lang 
Chứa các lớp Java lõi (core Java class), gồm lớp số (numeric 
class), chuỗi ký tự, đối tượng (Object). Gói này được import 
hoàn toàn vào tất cả các chương trình Java. 
 java.awt: chứa các lớp đồ họa. 
 java.applet: chứa các lớp hỗ trợ applet. 
 java.io: chứa các lớp cho các luồng vào-ra và các file. 
 java.util: chứa nhiều tiện ích, ví dụ date. 
 java.net: chứa các lớp hỗ trợ giao tiếp mạng. 
 Các lớp khác như: java.sql, java.rmi 
D 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
Các lớp cơ bản trong java: 
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 
 Các lớp liên quan đến chuỗi: 
 Lớp String – xử lý chuỗi cố định 
 Lớp StringBuffer – xử lý chuỗi linh động (nối 
chuỗi, cắt chuỗi,…) 
 Lớp StringTokenizer –xử lý chuỗi con 
 Lớp Character– xử lý ký tự trong chuỗi 
D 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
Các lớp cơ bản trong java: 
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 
 Các lớp liên quan đến chuỗi: String 
 Xây dựng chuỗi: 
• String message = "Welcome to Java!" 
• String message = new String("Welcome to Java!“); 
• String s = new String(); 
 Lấy độ dài chuỗi và lấy các ký tự cụ thể trong chuỗi. 
 Ghép chuỗi (concat) 
 Chuỗi con (substring(index), substring(start, end)) 
 So sánh (equals, compareTo) 
 String Conversions 
 Tìm 1 ký tự hoặc chuỗi con trong 1 chuỗi 
 Chuyển đổi giữa Strings và Arrays 
 Chuyển đổi các ký tự và các g/t số thành chuỗi 
 Các phương thức trong 
lớp String: 
String 
+String() 
+String(value: String) 
+String(value: char[]) 
+charAt(index: int): char 
+compareTo(anotherString: String): int 
+compareToIgnoreCase(anotherString: String): int 
+concat(anotherString: String): String 
+endsWithSuffixe(suffix: String): boolean 
+equals(anotherString: String): boolean 
+equalsIgnoreCase(anotherString: String): boolean 
+indexOf(ch: int): int 
+indexOf(ch: int, fromIndex: int): int 
+indexOf(str: String): int 
+indexOf(str: String, fromIndex: int): int 
+intern(): String 
+regionMatches(toffset: int, other: String, offset: int, len: int): boolean 
+length(): int 
+replace(oldChar: char, newChar: char): String 
+startsWith(prefix: String): boolean 
+subString(beginIndex: int): String 
+subString(beginIndex: int, endIndex: int): String 
+toCharArray(): char[] 
+toLowerCase(): String 
+toString(): String 
+toUpperCase(): String 
+trim(): String 
+copyValueOf(data: char[]): String 
+valueOf(c: char): String 
+valueOf(data: char[]): String 
+valueOf(d: double): String 
+valueOf(f: float): String 
+valueOf(i: int): String 
+valueOf(l: long): String 
Lưu ý: 
 Có thể tạo chuỗi từ một mảng các ký tự: 
char[] charArr = {'G','o','o','d',' ','d','a','y'} 
String message = new String(charArr); 
 Lấy chiều dài của chuỗi: 
String message =“Welcome”; 
int len=message.length() // KQ: len=7 
 Lấy ký tự trong chuỗi: 
String message =“Welcome”; 
char ch=message[0]; // ERROR 
char ch=message.charAt(0); // KQ: ch=„W‟ 
 So sánh chuỗi: equals 
String s1 = “Welcome”; 
String s2 = new String(“Welcome”); 
 So sánh nội dung: 
if (s1.equals(s2)) // KQ: true 
 So sánh tham chiếu: 
if (s1==s2) // KQ: false 
 Các phương thức trong 
lớp String: 
String 
+String() 
+String(value: String) 
+String(value: char[]) 
+charAt(index: int): char 
+compareTo(anotherString: String): int 
+compareToIgnoreCase(anotherString: String): int 
+concat(anotherString: String): String 
+endsWithSuffixe(suffix: String): boolean 
+equals(anotherString: String): boolean 
+equalsIgnoreCase(anotherString: String): boolean 
+indexOf(ch: int): int 
+indexOf(ch: int, fromIndex: int): int 
+indexOf(str: String): int 
+indexOf(str: String, fromIndex: int): int 
+intern(): String 
+regionMatches(toffset: int, other: String, offset: int, len: int): boolean 
+length(): int 
+replace(oldChar: char, newChar: char): String 
+startsWith(prefix: String): boolean 
+subString(beginIndex: int): String 
+subString(beginIndex: int, endIndex: int): String 
+toCharArray(): char[] 
+toLowerCase(): String 
+toString(): String 
+toUpperCase(): String 
+trim(): String 
+copyValueOf(data: char[]): String 
+valueOf(c: char): String 
+valueOf(data: char[]): String 
+valueOf(d: double): String 
+valueOf(f: float): String 
+valueOf(i: int): String 
+valueOf(l: long): String 
Lưu ý: 
 So sánh chuỗi: compareTo 
String s1 = “ABC”; 
String s2 = “aBC”; 
if (s1.compareTo(s2) > 0) 
if (s1.compareTo(s2) == 0) 
if (s1.compareTo(s2) < 0) 
 Nối chuỗi: concat 
String s1 = “Hi”; 
s1=s1.concat(“java”); 
Hoặc: 
S1=s1+”java”; 
 Chuỗi con: substring 
String s1 = “Hi java”; 
s1=s1.substring(3); 
S1=s1.substring(0,2); 
// KQ: false 
// KQ: false 
// KQ: true 
// KQ: s1=“Hi java” 
// KQ: s1=“java” 
// KQ: s1=“hi” 
D 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
Các lớp cơ bản trong java: 
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 
 Các lớp liên quan đến chuỗi: StringBuffer 
 Xây dựng chuỗi: 
• StringBuffer message = "Welcome to Java! " // ERROR 
• StringBuffer message = new StringBuffer ("Welcome "); 
 Nối chuỗi (append) 
 Chèn chuỗi (insert) 
 Xóa chuỗi (delete) 
 Đảo ngược chuỗi (reverse) 
 Chèn ký tự (setCharAt) 
 Các phương thức trong lớp StringBuffer: 
StringBuffer 
+append(data: char[]): StringBuffer 
+append(data: char[], offset: int, len: int): StringBuffer 
+append(v: aPrimitiveType): StringBuffer 
+append(str: String): StringBuffer 
+capacity(): int 
+charAt(index: int): char 
+delete(startIndex: int, endIndex: int): StringBuffer 
+deleteCharAt(int index): StringBuffer 
+insert(index: int, data: char[], offset: int, len: int): StringBuffer 
+insert(offset: int, data: char[]): StringBuffer 
+insert(offset: int, b: aPrimitiveType): StringBuffer 
+insert(offset: int, str: String): StringBuffer 
+length(): int 
+replace(int startIndex, int endIndex, String str): StringBuffer 
+reverse(): StringBuffer 
+setCharAt(index: int, ch: char): void 
+setLength(newLength: int): void 
+substring(start: int): StringBuffer 
+substring(start: int, end: int): StringBuffer 
 Ví dụ StringBuffer: 
StringBuffer strBuf = new StringBuffer(); 
strBuf.append("Welcome"); 
strBuf.append(' '); 
strBuf.append("Java"); 
strBuf.insert(8,"HTML and "); 
strBuf.delete(13,16); 
strBuf.deleteCharAt(13); 
strBuf.replace(8,12,“html"); 
strBuf.setCharAt(0,'w'); 
strBuf.reverse(); 
// KQ: strBuf=“Welcome” 
// KQ: strBuf=“Welcome ” 
// KQ: strBuf=“Welcome Java” 
// KQ: strBuf=“Welcome HTML and Java” 
// KQ: strBuf=“Welcome HTML Java” 
// KQ: strBuf=“Welcome HTML Java” 
// KQ: strBuf=“Welcome html Java” 
// KQ: strBuf=“welcome html Java” 
// KQ: strBuf=“avaaj lmth emoclew” 
D 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
Các lớp cơ bản trong java: 
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 
 Các lớp liên quan đến chuỗi: StringTokenizer 
 Chuỗi có thể được bẻ thành các mảnh (gọi là token) bởi các 
dấu phân cách (gọi là delimiter). 
 Xây dựng chuỗi: 
• StringTokenizer(String s, String delim, boolean returnTokens) 
• StringTokenizer(String s, String delim) 
• StringTokenizer(String s) 
 boolean hasMoreTokens() 
 String nextToken() 
 String nextToken(String delim) 
 Ví dụ StringTokenizer: 
java.util.*: thư viện chứa 
lớp StringTokenizer 
Delimiter: dấu phân cách dùng để 
tách chuỗi theo tập: “+” , “-” 
hasMoreTokens: duyệt tập các token 
A 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
BÀI TẬP TRẮC NGHIỆM 
B 
C 
D 
Câu 1: Đoạn lệnh nào sau đây được đặt trong lớp student để 
khai báo lớp student thuộc package uit.edu.vn 
import uit.*; 
import uit.edu.vn.*; 
package uit.edu.vn.student; 
package uit.edu.vn; 
A 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
BÀI TẬP TRẮC NGHIỆM 
B 
C 
D 
Câu 2: Phát biểu nào sau đây là đúng 
Một lớp có chứa phương thức final sẽ không cho phép 
kế thừa. 
Một phương thức final thì không thể override. 
Một biến final chỉ có thể khai báo trong một lớp final. 
Một biến final tương tự như một biến static. 
A 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
BÀI TẬP TRẮC NGHIỆM 
B 
C 
D 
Câu 3: Khai báo nào sau đây không gây ra lỗi biên dịch 
abstract final class Person{} 
default class Person{} 
abstract int i; 
native myMethod(); 
A 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
BÀI TẬP TRẮC NGHIỆM 
B 
C 
D 
Câu 4: Cho đoạn khai báo biến: Rectangle obj; 
Đoạn khai báo này sẽ: 
Gay ra lỗi biên dịch. 
Tạo đối tượng của lớp Rectangle. 
Tạo đối tượng mới nếu lớp Rectangle có constructor 
mặc định read. 
Tạo một biến b với giá trị ban đầu là null. 
A 
www.sites.google.com/site/khaiphong 
ĐH Công nghệ Thông tin 
BÀI TẬP TRẮC NGHIỆM 
B 
C 
D 
Câu 5: Phát biểu nào sau đây là đúng 
Thừa kế là một quan hệ has-a. 
Một thể hiện của một lớp là một quan hệ has-a. 
Một phương thức là một quan hệ is-a. 
Một thể hiện của một lớp là một quan hệ is-a. 

File đính kèm:

  • pdfLập trình mạng bằng ngôn ngữ Java - Lập trình hướng đối tượng.pdf
Tài liệu liên quan