Bài giảng Giới thiệu về lập trình hướng đối tượng và ngôn ngữ Java

Anh Hùng chủcửa hàng bán xe Hùng Phát muốnxâydựng hệthống phầnmềmđểtheo

dõi iệ bôbá th ậ tiệ hơ Q ki h hiệ ả lý hđư ột ố dõiviệc buônbánxethuậntiệnhơn.Quakinhnghiệmquảnlý,anhđưaramột số

thông tin sau:

•Nhữngyếutốliên quanđếnhoạt độngbánxe:Cácloạixe, nhânviênbánhàng, ữgy u ố qua đ oạ độgbá á oạ , â bá àg,

Khách hàng;

•Cáchoạtđộng liên quanđếnviệcmuabán:

ẫ Nhân viên bán hàngđưa khách hàng xem mẫuxe;

Khách hàng lựachọnloạixe;

Kháchhàngđặthóađơn; Kháchhàngđặthóađơn;

Khách hàng trảtiền;

Xeđượctraochokháchhàng; Xeđượctraochokháchhàng;

Vì cácđạilýcủa anh Hùngởcác vị trí khác nhau sửdụng các trang thiếtbị khác nhau,

nên mộtyêucầukháclàlàmsaođểhệthống quảnlýcóthểsửdụngđượctrênnhiều

loạimáy

pdf51 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2603 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Giới thiệu về lập trình hướng đối tượng và ngôn ngữ Java, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
inish' button: Goes to Next Slide , 
On failing, 'Finish' button: Goes to Next Slide
Allow user to leave quiz: At any time
User may view slides after quiz: At any time
User may attempt quiz: Unlimited times
CÂU HỎI THẢO LUẬN
Qua tìm hiểu giữa lớp và đối tượng, anh/chị nào có thể cho tôi biết sự
khác nhau giữa lớp và đối tượng.
v1.0011107228
25
1.3. MÔ TẢ LỚP VÀ TẠO ĐỐI TƯỢNG TRONG JAVA
1.3.1. Cấu trúc cơ bản của Lớp.
1.3.2. Hàm tạo và vai trò của hàm tạo.
1.3.3. Tạo và sử dụng đối tượng.
1.3.4. Cách truy xuất vào các thành phần của đối tượng.
1.3.5. Vòng đời của một đối tượng.
1.3.6. Phân biệt Đối tượng và Lớp.
1.3.7. Mối tương quan giữa đối tượng thực tế và đối tượng phần mềm.
v1.0011107228
26
1.3.1. CẤU TRÚC CƠ BẢN CỦA LỚP
è ú í
public class ClassName 
{
/**
K m ch th chCú pháp cơ bản
public ClassName() 
{
* Write a description of class ClassName here.
* @author (your name) 
* @version (a version number or a date)
}
}
*/
public class ClassName
{
/**
* Constructor for objects of class ClassName
*/
File
Save
public ClassName() 
{
// To do:Class Name.java
}
}
ắ
v1.0011107228
27
Lưu ý: Java là ngôn ngữ phân biệt chữ hoa chữ thường. Các quy t c đặt tên lớp
cần phải tuân thủ trong Java
1.3.1. CẤU TRÚC CƠ BẢN CỦA LỚP
Ví dụ mô tả lớp Car: /**
* Car.java
* @author author nameClass Name
Constructor
Car
Car()
* @version 1/12/2010
*/
public class Car {
Save
/**
* Hàm tạo đối tượng của lớp
*/
File
Car.java
public Car() {
// Khởi tạo đối tượng:
}
}
Hà t (C t t ) Là hà đặ biệt iú t à khởi t á t tháim ạo ons ruc or : m c g p ạo v ạo c c rạng
ban đầu cho đối tượng.
v1.0011107228
28
1.3.1. CẤU TRÚC CƠ BẢN CỦA LỚP
Bổ xung cho Car
ô é ô ả ộ í ế à á ế ô• Các thuộc tính
 model: kiểu dữ liệu chuỗi
 year: kiểu dữ liệu số nguyên
Java kh ng cho ph p m t thu c t nh trực ti p m gi n ti p th ng
qua các trường dùng để lưu giá trị thuộc tính của đối tượng:
• Các phương thức:
 move(): Có khả năng di chuyển
“200km/h”
public class Car {/*** Fields*/
 getModel(), getYear(): Có khả năng cho
biết kiểu dáng và năm sản xuất.
private String model;private int year;/*** Constructors*/public Car() {}/*** Methods*/
Car
• model: String
• year: int public String move () {return "200km/h";}public String getModel() {return this.model;
 Car()
 move(): String
 tM d l() St i }public int getYear() {return this.year;}}
ge o e : r ng
 setModel(): void
 getYear(): int
v1.0011107228
29
Java cho phép mô tả phương thức của đối tượng
trong một lớp dưới dạng các hàm.
1.3.1. CẤU TRÚC CƠ BẢN CỦA LỚP (tiếp theo)
Tạo lớp Car trên BlueJ
v1.0011107228
30
1.3.2. HÀM TẠO VÀ VAI TRÒ CỦA HÀM TẠO
• Java đưa ra khái niệm Hàm tạo (Constructor) được mô tả trong mỗi lớp dùng để tạo
và khởi tạo các trạng thái ban đầu của đối tượng;
• Tên của hàm tạo luôn luôn trùng với tên của lớp;
• Nếu lập trình viên không mô tả Hàm tạo nào thì mặc định sẽ có một Hàm tạo
không có đối số được thêm vào cho lớp;
á á ầ ố ó ể ề à ô à ó• C c gi trị ban đ u cho đ i tượng c th được truy n v o th ng qua H m tạo c
đối số;
• Ví dụ hàm khởi tạo trạng thái ban đầu của đối tượng:
public Car() {
d l "N d l"
public Car(String m, int y) {
d l d lmo e = o mo e ;
year = 2010;
}
mo e = mo e ;
year = y;
}
v1.0011107228
31
1.3.3. HÀM TẠO VÀ SỬ DỤNG ĐỐI TƯỢNG
• Việc mô tả lớp chỉ có ý nghĩa đặc tả một nhóm đối tượng có chung đặc điểm thuộc
tính và phương thức mà chưa thực sự tạo ra một đối tượng.
• Để tạo ra đối tượng ta sử dụng từ khóa new kết hợp với Hàm tạo.
• Ví dụ tạo một đối tượng Car thông qua Hàm tạo không có đố số như sau:
new Car()
• Để truy xuất vào đối tượng vừa tạo cần phải khai báo một tham chiếu tới đối 
tượng thuộc lớp Car, cú pháp như sau:
Car c = new Car();
v1.0011107228
32
1.3.4. CÁCH TRUY XUẤT VÀO CÁC THÀNH PHẦN CỦA ĐỐI TƯỢNG
• Thông qua đối tượng tham chiếu ta có thể truy xuất vào các thành phần của
đối tượng vừa được tạo (các phương thức và thuộc tính).
• Ví dụ muốn thực thi phương thức move() của đối tượng thuộc lớp Car ta
khai báo và sử dụng thông qua đối tượng tham chiếu car1:
Car car1 = new Car();
car1 move();.
v1.0011107228
33
1.3.4. CÁCH TRUY XUẤT VÀO CÁC THÀNH PHẦN CỦA ĐỐI TƯỢNG (tiếp theo)
Kết quả chạy trên BlueJ
Trạng thái của đối tượng khi khởi tạo
Kết quả của lời gọi phương thức move()
v1.0011107228
34
1.3.5. VÒNG ĐỜI CỦA MỘT ĐỐI TƯỢNG
Kh i bá ột th hiế tới đối tượ
Car c;
a o m am c u ng:
Sử dụng phương thức tạo để khởi tạo một đối tượng:
c = new Car();
c:Car
Mỗi một object được sinh ra đều có thời gian sống, phạm
vi hoạt động của riêng nó. Trong thời gian hoạt động ta
ó thể t ất à á t ườ à hươ thứ ó thểc ruy xu v o c c r ng v p ng c c
truy xuất của đối tượng.
c move();.
c.getModel();
Đối tượng sẽ kết thúc vòng đời khi không còn được sử dụng nữa. 
c = null;Life time
v1.0011107228
35
Garbage collector
1.3.6. PHÂN BIỆT ĐỐI TƯỢNG VÀ LỚP
• Lớp • Đối tượng
 Là đặc tả chi tiết về đối tượng
(còn gọi là bản mẫu  blueprint).
 Là thể hiện của một lớp với những
đặc điểm, chức năng cụ thể.
 Một lớp có thể cho phép tạo ra
nhiều đối tượng.
 Các đối tượng từ cùng một lớp sẽ
có cùng cấu trúc và chức năng
như mô tả trong lớp
v1.0011107228
36
.
1.3.7. MỐI TƯÕNG QUAN GIỮA ĐỐI TƯỢNG THỰC TẾ VÀ ĐỐI TƯỢNG 
PHẦN MỀM
Thực tế Phần mềmKhái niệm
Lớp
public class Car {
private int price;
private String color;
Đối tượng
}
Car myCar=new Car();
Car yourCar=new Car();
ộ í
5.000$Price:
myCar
Thu c t nh
“red”Color:
Phương thức
myCar.start();
myCar.setGear(1);
myCar.accelerate();
myCar turnLeft();
v1.0011107228
37
.
BÀI TẬP
Chương trình java đầu tiên cài đặt trên Bluej
• Chương trình in ra dòng chữ Hello World
• Load code tham khảo
v1.0011107228
38
1.4. LẬP TRÌNH ỨNG DỤNG CONSOLE VỚI JAVA
1.4.1. Lớp Scanner và cách nhập dữ liệu;
1.4.2. System.out và cách xuất dữ liệu;
1.4.3. Hàm main.
v1.0011107228
39
1.4.1. LỚP SCANNER VÀ NHẬP DỮ LIỆU
• Lớp java.util.Scanner cho phép lập trình nhập dữ liệu cho các
biến với các kiểu dữ liệu cơ bản khác nhau.
• Cách sử dụng:
Scanner input = new Scanner(System.in);
int x = input.nextInt();
double d = input.nextDouble(); 
boolean b = input.nextBoolean();
long l = input.nextLong();
byte bi = input.nextByte();
String s = input.nextLine();
v1.0011107228
40
1.4.2. SYSTEM.OUT VÀ XUẤT DỮ LIỆU
• Phương thức print(): In ra màn hình console một chuỗi.
• Phương thức printf() (có từ J2SE 5.0) có thể được sử dụng để xuất dữ liệu theo
định dạng.
System.out.print("=========");
System.out.println();
S t t i tf("% %d" "H ll " 123)ys em.ou .pr n s - , e o , ;
v1.0011107228
41
1.4.3. HÀM MAIN
• Hàm main() là một hàm đặc biệt trong java Một lớp bất kỳ đều có thể cài đặt hàm.
main, khi đó ta gọi lớp đó là Main Class.
• Một ứng dụng java thông thường sẽ được khởi chạy từ hàm main().
• Khi thực thi hàm main(), người dùng có thể khởi tạo các giá trị cho hàm thông qua
các tham số truyền vào cho hàm main(), còn gọi là đối số dòng lệnh.
public class Demo {
public static void main(String[] args) {
System.out.print("Hello");
System.out.println(args[0]);
System.out.println(args[1]);
}
}
$java Demo World Wide Web
World
Wide
Web
v1.0011107228
42
BÀI TẬP
Dùng notepad để soạn thảo chương trình
• Chương trình in ra dòng chữ Hello World
• Load code tham khảo
v1.0011107228
43
BÀI TẬP 1: MÔ TẢ ĐỐI TƯỢNG CAR
• Viết một lớp mô các đối tượng xe ôtô lấy tên Car, với mỗi đối tượng xe ôtô sẽ
có những đặc điểm sau:
 Có thuộc tính tên mẫu xe;
 Có thuộc tính mô tả màu;
 Có thuộc tính tốc độ tối đa;
 Có phương thức cho biết tên các loại xe;
 Có phương thức cho biết màu xe;
 Có phương thức cho biết tốc độ tối đa;
 Có hàm tạo có tham số để khởi tạo các giá trị ban đầu như tên mẫu xe,
à tố độ tối đm u xe, c a.
• Sử dụng Bluej tạo và thực thi các phương thức của đối tượng thuộc lớp car.
• Đáp án tham khảo
v1.0011107228
44
BÀI TẬP 2
Viết một lớp các đối tượng hình chữ nhật lấy tên là Rectangle, mỗi hình chữ nhật đều có
những đặc tính sau:
• Có thông số chiều dài (int);
• Có thông số chiều rộng (int);
• Có tính năng tính diện tích;
• Có tính năng tính chu vi;
Có tí h ă hiể thị t ự hì h hữ hật dưới d• n n ng n r c quan n c n ạng sau:
Ví dụ hình chữ nhật có chiều dài 7, chiều rộng 3 sẽ được hiển thị như sau lên màn hình
console:
#######
#######
#######
• Sử dụng lớp Rectangle vừa định nghĩa để viết một
chương trình java với kịch bản như sau:
• Khai báo và khởi tạo một đối tượng kiểu Rectangle;
• Hiển thị hình chữ nhật trên màn hình console;
• Thay đổi chiều dài và chiều rộng của hình chữ nhật;
v1.0011107228
45
• In ra màn hình diện tích và chu vi của hình chữ nhật đó.
• Đáp án tham khào
PROPERTIES
On passing 'Finish' button: Goes to Next Slide , 
On failing, 'Finish' button: Goes to Next Slide
Allow user to leave quiz: At any time
User may view slides after quiz: At any time
User may attempt quiz: Unlimited times
CÂU HỎI THẢO LUẬN
Qua tìm hiểu về hàm tạo anh/ chị nào có thể cho tôi biết sự khác nhau
giữa hàm tạo và các hàm thông thường khác?
v1.0011107228
47
TÓM LƯỢC CUỐI BÀI
Sau khi học xong bài này chúng ta đã nắm được các kiến thức sau:
• Đặc trưng của công nghệ Java;
• Các khái niệm cơ bản trong lập trình hướng đối tượng;
• Viết ứng dụng theo hướng đối tượng với Java như:
 Xây dựng lớp;
 Tạo và sử dụng đối tượng;
 Sử dụng lớp Scanner thực hiện việc nhập liệu.
• Cài đặt ứng dụng chạy trên BlueJ.
v1.0011107228
48
PROPERTIES
On passing 'Finish' button: Goes to Next Slide , 
On failing, 'Finish' button: Goes to Next Slide
Allow user to leave quiz: At any time
User may view slides after quiz: At any time
User may attempt quiz: Unlimited times
PROPERTIES
Allow user to leave interaction: Anytime
Show ‘Next Slide’ Button: Don't show
Completion Button Label: Next Slide
PROPERTIES
Allow user to leave interaction: Anytime
Show ‘Next Slide’ Button: Don't show
Completion Button Label: Next Slide

File đính kèm:

  • pdfBài giảng Giới thiệu về lập trình hướng đối tượng và ngôn ngữ Java.pdf
Tài liệu liên quan