Lập trình java - Bài 4: Lớp và đối tượng

Lập trình java - Bài 4: Lớp và đối tượng

 MỤC TIÊU 

+ Kết thúc bài học này bạn có khả năng 

- Hiểu rõ khái niệm đối tượng và lớp

- Mô hình hóa lớp và đối tượng 

- Định nghĩa được lớp và đối tượng

- Định nghĩa các trường, phương thức

- Định nghĩa và sử dụng hàm tạo

- Hiểu và sử dụng package

- Sử dụng thành thạo các đặc tả truy xuất

- Hiểu được tính che dấu (encapsulation)

KHÁI NIỆM VỀ ĐỐI TƯỢNG 

Biểu diễn đối tượng trong thế giới thực

Mỗi đối tượng được đặc trựng các thuộc tính và các hành vi riêng của nó

khai niệm đối tượng trong lập trình java


ĐẶC ĐIỂM VÀ HÀNH VI

Đặc điểm 

Hãng sản xuất

đặc điểm và hành vi trong lập trình java


Model

Năm

màu 

Hành vi (Ô tô có thể làm gì)

Khởi động

Dừng 

Phanh

Bật cần gạt trước

CLASS LÀ GÌ?


class trong lập trình java


ĐỊNH NGHĨA LỚP

Lớp là một khuôn mẫu để sử dụng để mô tả các đối tượng cùng loại.

Lớp bao gồm các thuộc tính (trường dữ liệu) và các phương thức (hàm thành viên)

định nghĩa lớp trong lập trình java


THUỘC TÍNH VÀ PHƯƠNG THỨC

thuộc tính phương thức trong lập trình java


Thuộc tính (field)

Hãng sản xuất

Model

Năm 

Màu

Phương thức (Method)

Khởi động()

Dừng()

Phanh()

Bật cần gạt nước

MÔ HÌNH LỚP VÀ ĐỐI TƯỢNG

mô hình và đối tượng trong lập trình java


TÍNH TRỪU TƯỢNG (ABSTRACTION)

Abstracstion là công việc lựa chọn các thuộc tính và hành vi của thực thể vừa đủ để mô tả thực thể đó trong 1 bối cảnh cụ thể mà không phải liệt kê tất cả các thuộc tính, hành vi của thực thể có.

Ví dụ: Mô tả một sinh viên ngành công nghệ thông tin có rất nhiều thuộc tính và hành vi. Ở đây chúng ta chỉ sử dụng mã, họ tên, điểm, ngành mà thôi, không cần thiết phải mô tả cao, nặng, hát, cười, nhảy cò cò...

ĐỊNH NGHĨA CLASS

định nghĩa class trong lập trình java

VÍ DỤ ĐỊNH NGHĨA LỚP


ví dụ định nghĩa lớp trong lập trình java

TẠO ĐỐI TƯỢNG 

Đoãn mã sau sử dụng lớp Employee để tạo 1 nhân viên sau đó gọi các phương thức của lớp.

public static void main (String[] args) {

Employee vietmabug = new Employee();

vietmabug.input();

vietmabug.output();

}

Chú ý:

Toán tử 

Toán tử new được sử dụng để tạo đối tượng

Biến emp chứa tham chiếu tới đối tượng

Sử dụng dấu chấm (.) để truy xuất các thành viên của lớp ( trường và phương thức).

ĐỊNH NHĨA PHƯƠNG THỨC 

Phương thức là một mô-đun mã thực hiện một công việc cu thể nào đó

Trong lớp Employee có 2 phương thức là input() và output()

Phương thức có thể có 1 hoặc nhiều tham số

Phương thức có thể có kiểu trả về hoặc void ( không trả về gì cả)

Cú pháp

<<kiểu trả về>><<tên phương thức>> ([danh sách tham số]){

// thân phương thức

}

VÍ DỤ PHƯƠNG THỨC

ví dụ phương thức trong lập trinh java


MÔ HÌNH PHƯƠNG THỨC

mô hình phương thức trong lập trình java


NẠP CHỒNG PHƯƠNG THỨC (OVERLOADING)

Trong một lớp có thể có nhiều phương thức cùng tên nhưng khác nhau về tham số (kiểu, số lượng và thứ tự)

public class MyClass{

void method(){...}

void method(int x){...}

void method(float x){...}

void method(int x, doublet y){...}

}

Trong lớp MyClass có 4 phương thức cùng tên là method nhưng khác nhau về tham số

VÍ DỤ NẠP CHỒNG PHƯƠNG THỨC

class MayTinh{

int tong(int a, int b){return a+b;}

int tong(int a, int b, int c){return a+b+c;}

}

+ Với lớp trên, bạn có thể sử dụng để tính tổng 2 hoặc 3 số nguyên.

MayTinh mt = new MayTinh();

int t1 = mt.tong(5,7);

int t2 = mt.tong(5,7,9);

HÀM TẠO (CONSTRUCTION)

- Hàm tạo là một phương thức đặc biệt được sử dụng để tạo đối tượng.

- Đặc điểm của hàm tạo

 + Tên trùng với tên lớp 

+ Không trả lại giá trị

hàm tạo construction trong lập trình java

- Trong một lớp có thể định nghĩa nhiều hàm tạo khác tham số, mỗi hàm tạo cung cấp 1 cách tạo đối tượng.

- Nếu không khai báo hàm tạo thì java tự động cung cấp hàm tạo mặc định (không tham số)

hàm tạo construction trong lập trình java

TỪ KHÓA THIS

- this được sử dụng để đại diện cho đối tượng hiện tại.

- this được sử dụng trong lớp để tham chiếu tới các thành viên của lớp (field và method)

- Sử dụng this.field để phân biệt field với các biến cục bộ hoặc tham số phương thức 
từ khóa this trong lập trình java

PACKAGE 

- Package được sử dụng để chia các class và interface thành từng gói khác nhau.

  _ Việc làm này tương tự quản lý file trên ổ đĩa trong đó class (file) và package (folder)

- Ví dụ sau tạo lớp MyClass thuộc gói com.poly

package com.poly;

public class MyClass{...}

- Trong java có rất nhiều gói được phân theo chức năng

 java.util: chứa các lớp tiện ích

 java.io: chứa các lớp vào/ra dữ liệu

 java.util: chứa các lớp thường dùng...

IMPORT PACKAGE

- Lệnh import được sử dụng để chỉ lớp đã được định nghĩa trong một package

- Các lớp trong gói java.lang và các lớp cùng định nghĩa trong cùng một gói với lớp sử dụng sẽ được import ngầm định

import package trong lập trình java


ĐẶC TẢ TRUY XUẤT

- Đặc tả truy xuất được sử dụng để định nghĩa khả năng cho phép truy xuất đến các thành viên của lớp. Trong java có 4 đặc tả khác nhau:

private: chỉ được phép sử dụng nội bộ trong class

public: công khai hoàn toàn

{default}: là public đối với các lớp truy xuất cùng gói

                 là private với các lớp truy xuất khác gói.

protetecd: tương tự {default} nhưng cho phép kế thừa dù lớp con và cha khác gói.

- Mức độ che dấu tăng dần theo chiều mũi tên

pucblic => protected => {default} => private

đặc tả truy xuất trong lập trình java

ENCAPSULATION

encapsulation trong lập trình java

NUN-ENCAPSULATION

- Giả sử định nghĩa lớp SinhVien và công khai hoTen và điểm như sau

nun-encapsulation trong lập trình java

- Khi sử dụng người dùng có thể gán dữ liệu cho các trường một cách tùy tiện

- Điều gì sẽ xảy ra nếu điểm hợp lệ chỉ từ 0 đến 10

- Để che dấu thông tin, sử dụng private cho các trường dữ liệu.

private double diem;

- Bổ sung các phương thức getter và setter để đọc ghi các trường đã che dấu

public void setDiem(double diem){

this.diem = diem;

}

public String getDiem(){

return this.diem;

}

nun-encapsulation trong lập trình java

QUY TẮC ĐẶT TÊN TRONG JAVA

quy tắc đặt tên trong lập trình java

TỔNG KẾT NỘI DUNG BÀI HỌC


học lập trình java miễn phí mới nhất
Xem tiếp Bài 5: ArrayList






ĐĂNG NHẬN XÉT

Previous Post Next Post