lý thuyết

Màu nền
Font chữ
Font size
Chiều cao dòng

LÝ THUYẾT:

 

1.Thế nào là lớp đối tượng, đối tượng, phương thức, thuộc tính, toán tử tạo lập của lớp. Các thí dụ minh họa.

2. Thế nào là nạp chổng, viết đè, so sánh giữa nạp chồng và viết đè, cơ chế che bóng của các biến. Nêu thí dụ minh họa. 

3. Phạm vi hoạt động của lớp, phương thức, thuộc tính (tập trung vào 3 phạm vi public, protected và private).

4. Khái niệm về kế thừa, cho thí dụ

5. Đặc điểm các đối tượng kiểu static, final.

6. Khái niệm lớp và hàm trìu tượng (abstract).

7. So sánh giữa ứng dụng sử dụng giao thức UDP và ứng dụng sử dụng giao thức TCP.

8. Nêu đặc điểm chính của ứng dụng truyền thông theo mô hình server và theo mô hình p2p.

9. Cú pháp và cách sử dụng các câu lệnh điều khiển rẽ nhánh: if, for, while, do…while, switch…case, toán tử ? :

10. Cú pháp lệnh try … catch để bắt ngoại lệ.

11. Miền giá trị của các kiểu dữ liệu

Câu 1: đối tượng:

-         Đối tượng là khái niệm cơ sở, quan trọng nhất của cách tiếp cận hướng đối tượng.

-         Ðối tượng là thưc thể của hệ thống, của CSDL và được xác định thông qua định danh ID (IDentifier) của chúng. Mỗi đối tượng có tập các đặc trưng bao gồm cả các dữ liệu thành phần hay các thuộc tính mô tả các tính chất và các phương thức.

-         Đối tượng là những thưc thể được xác định trong thời gian hệ thống hướng đối tượng hoạt động. Như vậy đối tượng có thể biểu diễn cho người, vật, hay một bảng dữ liệu hoặc bất kỳ một hạng thức nào đó cần xử lý trong chương trình.

-         Đối tượng là biểu hiện cụ thể của lớp và được tạo ra từ lớp.

Lớp đối tượng:

-         Lớp  là bản mẫu hay một  kiễu  chung  cho tất cả  những  đối tượng  có những đặc trưng giống nhau, nghĩa là có các thuộc tính và hành vi giống nhau.

-         Nhiệm vụ của người lập trình là phải xác định được các lớp đối tượng và cách thức trao đổi dữ liệu giữa các đối tượng trong lớp.

-         Một lớp đối tượng có 2 thành phần chính:

+ các thuộc tính: cụ thể là các biến chỉ tính chất của đối tượng.

+các phương thức: các hàm thành phần.

Câu 2:

Nạp chồng: là 1 trường hợp đặc biệt của đa xạ là khả năng 1 khái niệm có thể được thực hiện với nhiều nội dụng khác nhau tùy theo ngữ cảnh. Cụ thể cá hàm trong cùng 1 lớp có tên giống nhau nhưng kiểu danh sách tham số, kiểu trả về khác nhau.

Thí dụ:  lớp java.lang.Math có hàm nạp chồng min() xác định giá trị cực tiểu của 2 số:

public static double min(double a, double b)

public Static float min(float a, float b)

public static int min(int a, int b)

public static long min(long a, long b)

Viết đè:  các phương thức ở lớp con có cùng tên, cùng kiểu, cùng danh sách đối số với lớp cha.

Thí dụ:

Class A{

Int a=10;                    // (1)

            Int tong(int n){      //(2)

            Int s=0;

For(int i=1;i<n;i++)

S=s+1; return s;

}}

Class B extends A{

            Int a;               // (3)

            Int tong(int n) {         //(4)

            For(int i=0;i<n/2;i++)

                        S=s+1; return s;

}}

Ta thấy phương thức tổng của lớp A và lớp B nó giống nhau về kiểu và danh sách đối số nên nó là viết đè đó (cái (1) và cái (4) nhé).

So sánh nạp chồng và viết đè:

 Nạp chồng là các hàm trong cùng lớp hoặc ở lớp con có cùng tên nhưng khác nhau về kiểu, danh sách đối số.

Viết đè thì các hàm(phương thức) ở lớp con có cùng tên cùng kiểu cùng danh sách đối số với lớp cha.

Che bóng: Về nguyên tắc, một lớp con không được phép viết đè các biến thành phần của lớp cha, nhưng có thể bị che khuất chúng tương tư như biến cục bộ trong lớp con. Lớp con có thể định nghĩa lại (che) các biến đã được định nghĩa trong lớp cha. Khi đó các biến này của lớp cha sẽ không thể truy nhập trực tiếp theo tên ở lớp con. Trong hàm của lớp con có thể sử dụng toán tử super() để truy nhập tới các biến của lớp cha bị che khuất.

Thí dụ: như ví dụ ở trên ở lớp cha A khai báo a=10 rồi. nhưng ở lớp con B nó lại khai báo lại int a; nên giá trị a ở lớp con B sẽ ko bằng 10; và sẽ ko phụ thuộc hay làm thay đổi giá trị a của bố nó .

Câu 3:

Phạm vi hoạt động của lớp, phương thức, thuộc tính:

-         Các phương thức và thuộc tính có phạm vi kiểm soát:

+ public: cho phép truy cập mọi nơi (cùng gói, khác gói, cùng tệp, khác tệp..)

+protected: cho phép truy suất trong cùng một gói thôi. (nhiều tệp thành 1 gói).

+private: chỉ cho phép truy suất trong cùng 1 lớp.(kể cả lớp con kế thừa nó nó cũng không cho truy suất).

+ thêm cái final nè nữa: các biến sẽ không thể thay đổi giá trị sau khi đã khởi tạo. biến mà được khai báo final static thì nó được xem như là hằng số không thể thay đổi được giá trị của nó.

Câu 4:

kế thừa: là tái sử dụng mã nguồn:

-         Tạo ra lớp mới bằng cách phát triển lớp đã có.

-         Lớp mới (lớp con) kế thừa những gì đã có ở lớp cũ (lớp cha) và phát triển những tính năng mới.

-         Lớp con được mở rộng (extends) từ lớp cha kế thừa (thừa kế J) những thành phần dữ liệu và hành vi của lớp cha, chi tiết hóa cho phù hợp với mục đích sử dụng mới.

Thí dụ: có lớp cha là tứ giác, con của tứ giác có thể là thằng hình vuông, hình chữ nhật các con mang đầy đủ đặc điểm của bố nó.

public class TuGiac {

protected Diem d1, d2;

protected Diem d3, d4;

public TuGiac(){

System.out.println("Lop  cha TuGiac()")}}

public class HinhVuong extend TuGiac{

public HinhVuong(){

//ở đây tự động gọi hàm TuGiac() chạy trước.

System.out.println("Lop con HinhVuong()");}}

Câu 5: Đặc điểm của các đối tượng kiểu static và final.

- Static: Ðinh nghĩa các biến, phương thức tĩnh của lớp, dùng chung cho tất cả các đối tượng trong một lớp.

+ Các thành phần được khai báo static: Là những thành phần đại diện chung cho cả lớp, được khởi tạo giá trị mặc định. Các thành phần không phải static thì mỗi biến đều là bản sao có giá trị riêng cho từng đối tượng

- final: Chỉ ra các biến, phương thức không được thay đổi sau khi đã được định nghĩa.

+ Các thành phần được khai báo final: Các biến final được xem như các hằng, giá trị của chúng sẽ không thể thay đổi sau khi khởi tạo giá trị. Các hàm final thì không được phép viết đè ở các lớp con cháu.

Câu 6: Khái niệm lớp và các hàm trìu tượng (abstract)

-          Các hàm được khai báo là abstract:

Cú pháp: abstract <kiểu> <tên_hàm(danh sách các đối số) [mệnh đề throws]> ;

Các hàm asbtract được xem như khuôn mẫu, không có nội dụng xác định, nội dung của nó sẽ được cài đặt cụ thể ở các lớp con cháu.

Các hàm trong lớp giao diện (Interface) đều là các hàm abstract.

-         Các lớp abstract: Các lớp này không có thể hiện cụ thể, thường được sử dụng để tổng quát hóa các khái niệm, thực thể cụ thể trong thực tế.

Lớp abstract phải có ít nhất một hàm abstract.

Câu 7 : So sánh giữa ứng dụng sử dụng giao thức UDP và ứng dụng sử dụng giao thức TCP.

Xét kiến trúc của hệ thống mạng TCP/IP, tầng vận chuyển giúp chuyển tiếp các thông điệp giữa các chương trình ứng dụng với nhau. Nó có thể hoạt động theo hai chế độ:

·        Giao tiếp có nối kết, nếu sử dụng giao thức TCP

·        Hoặc giao tiếp không nối kết, nếu sử dụng giao thức UDP

Socket là giao diện giữa chương trình ứng dụng với tầng vận chuyển. Nó cho phép chọn giao thức sử dụng ở tầng vận chuyển là TCP hay UDP cho chương trình ứng dụng của mình.

Sự khác biệt giữa hai chế độ giao tiếp có nối kết và không nối kết:

Chế độ có nối kết (TCP):

·        Tồn tại kênh giao tiếp ảo giữa hai bên giao tiếp

·        Dữ liệu được gởi đi theo chế độ bảo đảm: có kiểm tra lỗi. truyền lại gói tin lỗi hay mất, bảo đảm thứ tự đến của các gói tin . . .

·        Dữ liệu chính xác, Tốc độ truyền chậm.

Chế độ không nối kết (UDP) :

·        Không tồn tại kênh giao tiếp ảo giữa hai bên giao tiếp

·        Dữ liệu được gởi đi theo chế độ không bảo đảm:

·        Không kiểm tra lỗi, không phát hiện không truyền lại gói tin bị lỗi hay mất, không bảo đảm thứ tựđến của các gói tin . . .

·        Dữ liệu không chính xác, tốc độ truyền nhanh.

·        Thích hợp cho các ứng dụng cần tốc độ, không cần chính xác cao: truyền âm thanh, hình ảnh . . .

Socket là phương tiện hiệu quả để xây dựng các ứng dụng theo kiến trúc Client-Server. Các ứng dụng trên mạng Internet như Web, Email, FTP là các ví dụ điển hình. Phần dưới sẽ trình bày các bước cơ bản trong việc xây dựng các ứng dụng Client-Server sử dụng Socket làm phương tiện giao tiếp theo cả hai chế độ: Có nối kết và không nối kết.

Câu 8 : Ứng dụng của truyền thông theo mô hình server tho mô hình P2P

Kiến trúc Client Server:

Kiến trúc Client-Server được sử dụng trong các hệ thống phân tán và bao gồm hai thành phần riêng biệt: server đóng vai trò phục vụ cung cấp chức năng, và client trong vai trò người tiêu thụ sử dụng các chức năng đó. Thông thường hai thành phần này kết nối với nhau qua mạng, với client là bên chủ động tạo kết nối và gửi yêu cầu đến server, trong khi server thụ động lắng nghe và hồi đáp các yêu cầu. Mô hình client-server đơn giản nhất gồm một server phục vụ cho một hoặc nhiều client đồng thời, còn gọi là kiến trúc hai lớp (2-Tier). Một ví dụ phổ biến cho các ứng dụng Client-Server là các chương trình chat và email đã quá thông dụng hiện nay.

Các ưu điểm nổi bật của kiến trúc Client-Server gồm:

·         Quản lý tập trung: dữ liệu được lưu trữ tập trung trên server thay vì nằm rải rác trên nhiều máy, giúp đơn giản hóa việc truy xuất và cập nhật dữ liệu.

·         Dễ bảo trì: nhờ khả năng quản lý tập trung mà công việc bảo trì cũng trở nên nhẹ nhàng hơn vì phần lớn việc bảo trì chỉ cần thực hiện trên server. Trong trường hợp hệ thống có nhiều server với thiết bị dự phòng, quá trình bảo trì (như sửa chữa, thay thế server) có thể diễn ra hoàn toàn trong suốt với phía client.

·         Bảo mật: dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dàng hơn

 Mô hình peer to peer

Peer-to-Peer: thực chất cũng theo mô hình Client-Server, tuy nhiên Client và Server thường xuyên hoán đổi vai trò cho nhau (máy A vừa sử dụng chức năng của máy B, vừa cung cấp một chức năng khác cho máy B, hai máy này lần lượt đóng cả hai vai trò Client và Server).

Mạng đồng đẳng (peer-to-peer network), còn gọi là mạng ngang hàng, là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường

Câu 9 : Cú pháp và cách sử dụng các câu lệnh điều khiển rẽ nhánh : if, for, while, do… while, switch…case, toán tử.

-          Lệnh rẽ nhánh if:

Cú pháp: if (biểu thức điều kiện) {  // Các lệnh sẽ được thực hiện nếu giá trị của biểu thức điều kiện là true }

Hoặc: if (biểu thức điều kiện) { // Các lệnh sẽ được thực hiện nếu giá trị của biểu thức điều kiện là true } else { // Các lệnh sẽ được thực hiện nếu giá trị của biểu thức điều kiện là false }

-         Lệnh Switch :

Cú pháp:

switch ( variable ) {case value1 : { // Các tác vụ sẽ được thực thi nếu giá trị của variable là value1 break; }

case value2 : { // Các tác vụ sẽđược thực thi nếu giá trị của variable là value2 break; }

 . . .

default: // Tác vụ sẽđược thực thi nếu giá trị của variable không là các giá trị trên }

-         Lệnh While:

Cú pháp:

while (biểu thức điều kiện) { Các lệnh sẽ được thực hiện lặp lại nếu giá trị của biểu thức điều kiện đúng }

-         Lệnh do – while:

Cú pháp:

do { // Lặp lại các tác vụ ở đây cho đến khi điều kiện condition có giá trị là false } while (biểu thức điều kiện)

-         Lệnh for :

Cú pháp:

for (biểu thức 1; biểu thức điều kiện; biểu thức 2){ // Các lệnh cần lặp lại }

-         Lệnh break :

Vòng lặp của các lệnh while, do-while và for sẽ kết thúc khi lệnh break được thực hiện.

Câu 10: Cú pháp lệnh try…. Catch:

Cú pháp

try { Các thao tác vào ra có thể sinh ra các ngoại lệ. } catch (KiểuNgoạiLệ_01 biến) { ứng xử khi ngoại lệ KiểuNgoaiLệ_01 sinh ra } catch (KiểuNgoạiLệ_02 biến) { ứng xử khi ngoại lệ KiểuNgoaiLệ_02 sinh ra }finally { Công việc luôn luôn được thực hiện}

-Ngoại lệ tức là một sự kiện xảy ra ngoài dự tính của chương trình nếu không xử lý sẽ làm cho chương trình chuyển sang trạng thái không còn kiểm soát được

Bạn đang đọc truyện trên: Truyen2U.Pro