Bai giang lap trinh HDT voi java ICTU

82 623 1
Bai giang   lap trinh HDT voi java   ICTU

Đ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

bài giảng java

1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM -------------o0o------------ BÀI GIẢNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bộ Môn: Công nghệ phần mềm Nhóm giảng viên: Ths.Tô Hữu Nguyên Ths.Phạm Thị Thương Ths.Ngô Thị Lan Ths.Nguyễn Văn Việt Thái Nguyên, tháng12 năm 2012 2 MỤC LỤC CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 4 1.1. Các phương pháp tiếp cận trong lập trình . 4 1.2. Một số khái niệm của Lập trình hướng đối tượng 6 1.3. Các ngôn ngữ lập trình hướng đối tượng . 11 CHƯƠNG 2:NGÔN NGỮ JAVA 12 2.1 Đặc điểm ngôn ngữ Java 12 2.2 Các dạng chương trình có thể phát triển với java. . 12 2.3 Môi trường Java(java flatform) 13 2.4. Cấu trúc 1 tiệp chương trình java 13 2.5 Các phần tử cơ sở của Java 15 2.6. Các kiểu dữ liệu nguyên thủy(cơ bản) . 16 2.7.Các phép toán và biểu thức. . 18 2.8. Các quy tắc chuyển đổi kiểu. . 22 2.9. Biến và khai báo biến trong java. 24 CHƯƠNG 3: LỚP VÀ CÁC THÀNH PHẦN CỦA LỚP 26 3.1 Định nghĩa lớp . 26 3.2. Định nghĩa các hàm thành phần 27 3.3. Nạp chồng các hàm thành phần (overloading) . 29 3.4. Viết đè các hàm thành phần( kế thừa) . 30 3.5. Toán tử tạo lập đối tượng.(Constructor) 33 3.6. Truyền tham số trong lời gọi hàm. 34 3.7. Quan hệ kế thừa giữa các lớp. . 38 3.8. Toán tử móc xích giữa các lớp kế thừa this() và super() 39 1.9.Lớp trừu tượng và giao diện . 40 3.10. Phạm vi và các thuộc tính kiểm soát truy nhập các thành phần của lớp. 43 CHƯƠNG 4: CÁC CÂU LỆNH ĐIỀU KHIỂN DÒNG THỰC HIỆN VÀ XỬ LÝ NGOẠI LỆ 49 4.1. Các câu lệnh rẽ nhánh: 49 4.3. Các câu lệnh chuyển vị . 51 4.4. Ngoại lệ và xử lý ngoại lệ . 52 3 CHƯƠNG 5: CÁC LỚP CƠ SỞ VÀ CẤU TRÚC DỮ LIỆU . 56 5.1. Cấu trúc mảng . 56 5.2 Các lớp cơ sở. 58 5.3 Lớp chuỗi (Lớp String) 70 5.4 Lớp StringBuffer 77 5.5. Lớp StringTokenizer . 81 TÀI LIỆU THAM KHẢO . 82 4 CHƯƠNG 1: GIỚI THIỆU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 1.1. Các phương pháp tiếp cận trong lập trình Để phát triển một hệ thống phần mềm, hiện nay ta có hai cách tiếp cận cơ bản đó là: 1) Cách tiếp cận hướng chức năng – Function Oriented 2) Cách tiếp cận hướng đối tượng (Object Oriented) => Ta cần phân biệt những đặc trưng cơ bản nhất, đánh giá mặt mạnh, mặt yếu của từng phương pháp để hiểu rõ chúng và áp dụng chúng một cách hiệu quả nhất. 1.1.1.Lập trình hướng chức năng (thủ tục) Trọng tâm của cách tiếp cận này là các hàm chức năng. Chức năng chính của bài toán sẽ thành những chức năng đơn giản hơn và thực hiện làm mịn dần từ trên xuống (top- down). Cấu trúc của chương trình được xây dựng theo cách tiếp cận hướng chức năng có dạng như Hình H1-1. Hình H1-1 Cấu trúc của chương trình hướng chức năng Hàm_1 Hàm_2 Hàm_3 Hàm_4 Hàm_5 Hàm_6 Hàm_7 Hàm_8 Hàm_9 Chương trình chính main() 5  Kỹ thuật phân rã các chức năng (hàm) theo cách tiếp cận top-down để tạo ra cấu trúc phân cấp.  Chương trình được xây dựng theo cách tiếp cận hướng chức năng thực chất là tập các chương trình con  chương trình =Cấu trúc dữ liệu+giải thuật *Ưu điểm -Thuận tiện cho việc thiết kế dữ liệu và nắm bắt thông tin -Phù hợp với các bài toán vừa và nhỏ *Nhược điểm -Nhiều hàm có thể sử dụng chung 1 CSDL và có thể thay đổi được giá trị=> khó kiểm soát nhất là đối với những chương trình lớn và phức tạp. -Gặp khó khăn khi thay đổi CSDL dẫn tới phải xây dựng lại toàn bộ cá hàm đã xây dựng có liên quan -Tính mở của hệ thống là kém không tận dụng được tài nguyên -Việc tách rời dữ liệu ra khỏi chức năng xử lý dẫn tới việc che dấu và bảo vệ thông tin trong hệ thống là kém. 1.1.2. Lập trình hướng đối tượng -Chiến lược phát triển phần mềm hướng đối tượng là quan sát thế giới như tập các đối tượng lấy đối tượng làm trung tâm. -Hệ thống bằng tập hợp các đối tượng và quan hệ giữa các đối tượng. VD: Để thực hiện xây một ngôi nhà ta cần 1 kiến trúc sư, 2 kĩ sư xây dựng, 6 thợ xây, 3 phụ vữa, vV……. -Các đối tượng trao đổi với nhau bằng thông điệp (Message) 6 -Không phân tách dữ liệu và chức năng. Tiếp cận hướng đối tượng tập trung vào cả thông tin và hành vi. -Cho khả năng mềm dẻo, có khả năng kế thừa cao Chương trình = ∑ Đố ượ +  ℎệ Đối tượng=∑ Cấu trúc dữ liệu+Giải thuật Lập trình hướng đối tượng có hai đặc trưng cơ bản: • Đóng gói dữ liệu: dữ liệu luôn được tổ chức thành các thuộc tính của lớp đối tượng. Việc truy nhập đến dữ liệu phải thông qua các phương thức của đối tượng lớp. • Sử dụng lại mã nguồn: việc sử dụng lại mã nguồn được thể hiện thông qua cơ chế kế thừa. Cơ chế này cho phép các lớp đối tượng có thể kế thừa từ các lớp đối tượng khác. Khi đó, trong các lớp kế thừa, có thể sử dụng các phương thức (mã nguồn) của các lớp bị kế thừa, mà không cần phải định nghĩa lại. 1.2. Một số khái niệm của Lập trình hướng đối tượng 1.2.1. Đối tượng(Object) Đối tượng là khái niệm cơ sở quan trọng nhất của phương pháp tiếp cận LTHĐT, đối tượng là thực thể của hệ thống, cấu thành lên hệ thống các các khái niệm liên quan đến hệ thống VD: KhachHang, HoaDon, MatHang vv Đối tượng là khái niệm cho phép mô tả các sự vật, thực thể trong thế giới thực Đối tượng=Trạng thái+Hành vi+Định danh VD:Máy tính của tôi, SV Nguyễn Thị A Trong đó: *Trạng thái: là tập hợp của các giá trị của các thuộc tính mà đối tượng đang Có tại một thời điểm. VD:HP, HP Pavilion Entertaiment PC, Core i3, vv…. 7 Nguyễn Thị A, Thái Bình, 1992, vv… *Hành vi:Thể hiện chức năng của đối tượng trong hệ thống Hành vi=Tập các phương thức VD: khở động(), tắt(),xem ảnh(). Ăn(), Ngủ(), Học() *Định danh thể hiện sử tồn tại duy nhất của đối tượng. Serie HLSDF:34545353 Số CMTND: 090708308 Nhiệm vụ của Phân tích thiết kế hướng đối tượng là phân tích bài toán thành các đối tượng và xác định được sử trao đổi thông tin giữa các đối tượng(các đối tượng trao đổi với nhau bằng thông điệp) 1.2.2. Lớp các đối tượng (Class) Lớp là khái niệm dùng để mô tả tập hợp các các đối tượng có cùng một cấu trúc, cùng hành vi và có cùng mối quan hệ với các đối tượng khác. VD: Sinh Viên, Máy tính Laptop Lớp=các thuộc tính+Các phương thức Sinh Viên Thuộc tính +Mã SV +Họ tên +Địa chỉ +Năm sinh +Chuyên ngành …… Phương Thức 8 +Học() +Thi() …… Lớp là sự trừu tượng hóa của đối tượng(tìm kiếm những điểm chung nhất(giống nhau) bỏ qua những điểm khác nhau. 1.2.3. Bao bọc và che dấu thông tin. Việc đóng gói dữ liệu và các hàm vào 1 đơn vị cấu trúc(gọi là lớp) được xem như là 1 nguyên tắc bao bọc và che dấu thông tin. Kỹ tuật này cho phép xác định các vùng đặc trưng riêng, công khai bao gồm cả dữ liệu và các hàm nhằm điều khiển hoặc hạn chế những truy nhập tùy tiện của những đối tượng khác -Các hàm công khai của lớp sẽ đóng vai trò như giao diện của các đối tượng với phần còn lại của hệ thống. -Nguyên tắc bao bọc dữ liệu để ngăn cấm sự truy nhập trực tiếp trong lập trình được gọi là che dấu thông tin. VD: Thuốc bổ +Thành phần//dữ liệu công khai. +Công dụng//dữ liệu công khai. +Tác dụng phụ//dữ liệu công khai. Dữ liệu riêng Hàm riêng Dữ liệu công khai Hàm công khai 9 +Một số thành phần đặc biệt// dữ liệu che dấu. +Cách dùng()//công khai. +Cách sản xuất()//hàm che dấu. 1.2.4. Tính đa hình (polymorphism): Thể hiện thông qua việc gửi các thông điệp (message). Việc gửi các thông điệp này có thể so sánh như việc gọi các hàm bên trong của một đối tượng. Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác nhau. Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thông qua tên của các phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn. Thí dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương thức chung là "chu_vi". Khi gọi phương thức này thì nếu đối tượng là "hinh_vuong" nó sẽ tính theo công thức khác với khi đối tượng là "hinh_tron". 1.2.4. Sự mở rộng, kế thừa Nguyên lý kế thừa cho phép các đối tượng của lớp này được quyền sử dụng một số tính chất(Dữ liệu, Hàm) của một lớp khác -Một lớp có thể là lớp con(lớp dẫn xuất) của một lớp khác nghĩa là có thể bổ xung thêm một số tính chất để thu hẹp phạm vi xác định của 1 đối tượng trong lớp mới cho phù hợp với ngữ cảnh trong thực tế. -Theo nguyên lý chung của đối tượng thì chỉ những thuộc tính và hàm thành phần công khai là được quyền kế thừa còn những hàm thành phần riêng không được phép kế thừa. 10 1.2.5. Truyền thông điệp. Nguyên lý trao đổi thông tin bằng cách truyền thông điệp cho phép chúng ta xây dựng được những hệ thống mô phỏng gần hơn với thế giới thực. Truyền thông điệp cho một đối tượng tức là phải báo cho nó phải thực hiện một việc, một yêu cầu nào đó. Cách ứng xử của của đối tượng sẽ được mô tả trong các hàm công khai VD: . 13 2.3 Môi trường Java( java flatform) Chương trình java có thể biên dịch và thực hiện trên mọi môi trường hệ điều hành. Môi trường java bao gồm 2 thành. ảo java( JVM java vitual Machine) là một khái niệm phần mềm dựa trên ý tưởng là một máy tính ảo cung cấp môi trường thực thi cho chương trình java. +Java

Ngày đăng: 26/09/2013, 08:26

Hình ảnh liên quan

Hình H1-1 Cấu trúc của chương trình hướng chức năng - Bai giang   lap trinh HDT voi java   ICTU

nh.

H1-1 Cấu trúc của chương trình hướng chức năng Xem tại trang 4 của tài liệu.
Bảng B3.1 Miền xác định của các giá trị có kiểu nguyên thủy Kiểu  - Bai giang   lap trinh HDT voi java   ICTU

ng.

B3.1 Miền xác định của các giá trị có kiểu nguyên thủy Kiểu Xem tại trang 17 của tài liệu.
Trong đó <type> là các kiểu số của < var>. Bảng B3.5 mô tả chi tiết hơn các phép gán số học mở rộng. - Bai giang   lap trinh HDT voi java   ICTU

rong.

đó <type> là các kiểu số của < var>. Bảng B3.5 mô tả chi tiết hơn các phép gán số học mở rộng Xem tại trang 21 của tài liệu.
Bảng B3.5 Các phép gán số học mở rộng - Bai giang   lap trinh HDT voi java   ICTU

ng.

B3.5 Các phép gán số học mở rộng Xem tại trang 21 của tài liệu.
Hình H4-2 Khả năng truy nhập đối với lớp công khai publicQuan h ệ kế thừa - Bai giang   lap trinh HDT voi java   ICTU

nh.

H4-2 Khả năng truy nhập đối với lớp công khai publicQuan h ệ kế thừa Xem tại trang 44 của tài liệu.
Hình H4-2 Khả năng truy nhập đối với lớp công khai protectedQuan h ệ kế thừa - Bai giang   lap trinh HDT voi java   ICTU

nh.

H4-2 Khả năng truy nhập đối với lớp công khai protectedQuan h ệ kế thừa Xem tại trang 45 của tài liệu.
+toString(): Chuyển đối tượng ngoại lệ thành chuỗi có thể in ram àn hình. - Bai giang   lap trinh HDT voi java   ICTU

to.

String(): Chuyển đối tượng ngoại lệ thành chuỗi có thể in ram àn hình Xem tại trang 53 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan