1. Trang chủ
  2. » Thể loại khác

...Chuong 05 - Tao va su dung doi tuong.pdf

14 154 0

Đ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

Nội dung

BỘ GIÁO DỤC ðÀO TẠO TRƯỜNG ðẠI HỌC NÔNG NGHIỆP HÀ NỘI VŨ THỊ HẢI YẾN ðÀO TẠO SỬ DỤNG ðỘI NGŨ CÁN BỘ XÃ, THỊ TRẤN TẠI HUYỆN VŨ THƯ, TỈNH THÁI BÌNH LUẬN VĂN THẠC SĨ QUẢN TRỊ KINH DOANH Chuyên ngành: QUẢN TRỊ KINH DOANH Mã số: 60.34.05 Người hướng dẫn khoa học: TS. NGUYỄN QUỐC CHỈNH HÀ NỘI - 2011 Trường ðại học Nông nghiệp Hà Nội - Luận văn thạc sĩ khoa học kinh tế …………………………. i LỜI CAM ðOAN Tôi xin cam ñoan ñây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nghiên cứu trong luận văn là trung thực chưa ñược công bố trong bất kỳ công trình nghiên cứu khoa học nào. Tôi xin cam ñoan rằng các thông tin trích dẫn trong luận văn này ñã ñược chỉ rõ nguồn gốc. Hà Nội, ngày 14 tháng 10 năm 2011 Tác giả luận văn VŨ THỊ HẢI YẾN Trường ðại học Nông nghiệp Hà Nội - Luận văn thạc sĩ khoa học kinh tế …………………………. ii LỜI CẢM ƠN Trong thời gian học tập, nghiên cứu viết luận văn thạc sĩ, tôi ñã nhận ñược sự giúp ñỡ nhiệt tình của nhiều cơ quan, tổ chức cá nhân. Tôi xin tỏ lòng biết ơn sâu sắc ñến các Thầy, Cô giáo Khoa Kế toán Quản trị kinh doanh, Viện ðào tạo sau ðại học - Trường ðại học Nông nghiệp Hà Nội, ñặc biệt là các Thầy, các Cô giáo trong Bộ môn Quản trị kinh doanh - ñã tạo ñiều kiện giúp ñỡ tôi trong quá trình học tập thực hiện luận văn này. Tôi xin bày tỏ lòng biết ơn chân thành ñến Thầy giáo - TS. Nguyễn Quốc Chỉnh ñã dành nhiều thời gian tận tình hướng dẫn chỉ bảo cho tôi hoàn thành luận văn này. Tôi xin bày tỏ lòng biết ơn chân thành ñến các Thầy, Cô giáo trong Ban Giám hiệu, Ban ðảng uỷ ñồng nghiệp Trường Cao ñẳng Kinh tế Kỹ thuật Thái Bình ñã tạo ñiều kiện cho tôi trong quá trình học tập thực hiện luận văn này. Tôi xin chân thành cảm ơn Huyện ủy, UBND huyện, các phòng ban chức năng huyện Vũ Thư; ðảng ủy, UBND các xã, thị trấn của huyện Vũ Thư ñã cung cấp những số liệu cần thiết giúp ñỡ tôi trong quá trình tìm hiểu nghiên cứu tại ñịa bàn. Tôi xin chân thành cảm ơn gia ñình, bạn bè ñã ñộng viên, chia xẻ tạo ñiều kiện giúp tôi trong suốt thời gian học tập nghiên cứu. Hà Nội, ngày 14 tháng 10 năm 2011 Tác giả luận văn VŨ THỊ HẢI YẾN Trường ðại học Nông nghiệp Hà Nội - Luận văn thạc sĩ khoa học kinh tế …………………………. iii MỤC LỤC Lời cam ñoan i Lời cảm ơn ii Mục lục iii Danh mục chữ viết tắt v Danh mục bảng biểu vi Danh mục biểu ñồ viii 1 MỞ ðẦU 1 1.1 Tính cấp thiết của ñề tài 1 1.2 Mục tiêu nghiên cứu 2 1.3 ðối tượng phạm vi nghiên cứu 2 2 CƠ SỞ LÝ LUẬN THỰC TIỄN 4 2.1 Cơ sở lý luận 4 2.2 Cơ sở thực tiễn 25 3 ðẶC ðIỂM ðỊA BÀN PHƯƠNG PHÁP NGHIÊN CỨU 36 3.1 ðặc ñiểm ñịa bàn nghiên cứu 36 3.3 Các chỉ tiêu nghiên cứu 50 4 KẾT QUẢ NGHIÊN CỨU THẢO LUẬN 51 4.1 Thực trạng ñội ngũ cán bộ, công chức xã, thị trấn của huyện ñiều tra 51 4.1.1 Số lượng, cơ cấu cán bộ, công chức xã, thị trấn trên ñịa bàn huyện 51 4.1.2 Trình ñộ của cán bộ, công chức xã, thị trấn 52 4.1.3 Số lượng, cơ cấu cán bộ, công chức xã, thị trấn tại các xã ñiều tra 54 4.1.4 Trình ñộ chuyên môn của cán bộ, công chức Bộ môn Công nghệ phần mềm KHOA CễNG NGH THễNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA Chương 05 Tạo sử dụng đối tượng Nguyễn Thị Thu Trang trangntt-fit@mail.hut.edu.vn Mục tiêu học Phương thức khởi tạo, chồng phương thức khởi tạo Khai báo khởi tạo đối tượng Sử dụng đối tượng Quản lý nhớ Department of Software Engineering Nội dung Phương thức khởi tạo Chồng phương thức khởi tạo Sử dụng đối tượng Quản lý nhớ Java So sánh đối tượng Department of Software Engineering 1 Phương thức khởi tạo (Constructor) Dữ liệu nên „ Lỗi khởi tạo lỗi phổ biến Phương thức khởi tạo „ Là phương thức đặc biệt „ Nhằm mục đích Department of Software Engineering Phương thức khởi tạo (2) Mỗi lớp phải „ „ „ Có nhiệm vụ tạo Tên Constructor Ví dụ: Department of Software Engineering Phương thức khởi tạo (3) Sử dụng từ khóa new với constructor để tạo đối tượng cho lớp: „ Cú pháp: „ Ví dụ: Department of Software Engineering Phương thức khởi tạo (4) Phương thức khởi tạo khơng có giá trị trả về, sử dụng với từ khóa new Department of Software Engineering Phương thức khởi tạo (5) Phương thức khởi tạo dùng định truy cập „ „ „ Một phương thức khởi tạo dùng từ khóa abstract, static, final, native, synchronized Các phương thức khởi tạo không xem thành viên lớp Department of Software Engineering Phương thức khởi tạo (6) Phương thức khởi tạo mặc định (default constructor) „ Là phương thức khởi tạo „ ta không định nghĩa hàm khởi tạo lớp Phương thức khởi tạo mặc định Java cung cấp „ Khi định nghĩa phương thức khởi tạo, nên „ Department of Software Engineering Ví dụ Phương thức khởi tạo mặc định Java cung cấp: public class BankAccount{ private String owner; private double balance; } … Department of Software Engineering Ví dụ Phương thức khởi tạo tự viết: public class BackAccount{ private String owner; private double balance; } … BankAccount account2 = new BankAccount(); Department of Software Engineering Nội dung Phương thức khởi tạo Chồng phương thức khởi tạo Sử dụng đối tượng Quản lý nhớ Java So sánh đối tượng Department of Software Engineering Chồng phương thức khởi tạo Trong nhiều tình khác ta cần khởi tạo đối tượng theo nhiều cách khác Ỉ Cần xây dựng hàm khởi tạo khác cho đối tượng Các phương thức khởi tạo Việc chồng phương thức khởi tạo giúp Department of Software Engineering Ví dụ public class BankAccount{ private String owner; private double balance; public void setOwner(String o){ owner = o; } … } … Department of Software Engineering Ví dụ public class BankAccount{ private String owner; private double balance; } public class Test{ public static void main(String args[]){ BankAccount unknown_acc = new BankAccount(); } } Department of Software Engineering Nội dung Phương thức khởi tạo Chồng phương thức khởi tạo Sử dụng đối tượng Quản lý nhớ Java So sánh đối tượng Department of Software Engineering 3.1 Khai báo khởi tạo đối tượng Đối tượng Các đối tượng phải „ „ Kiểu đối tượng lớp đối tượng Ví dụ: Department of Software Engineering 3.1 Khai báo khởi tạo đối tượng (2) Đối tượng nên khởi tạo trước sử dụng „ „ Sử dụng toán tử Sử dụng toán tử Toán tử new dùng để tạo đối tượng Một đối tượng khởi tạo Đối tượng thao tác thơng qua „ Tham chiếu đóng vai trò gần giống Ví dụ: BankAccount acc1; Department of Software Engineering 3.1 Khai báo khởi tạo đối tượng (3) Mảng đối tượng khai báo giống mảng liệu Mảng đối tượng khởi tạo mặc định với giá trị null Ví dụ: Employee emp1 = new Employee(123456); Employee emp2; emp2 = emp1; Department dept[] = new Department[100]; Test[] t = {new Test(1),new Test(2)}; Department of Software Engineering 3.2 Sử dụng đối tượng Đối tượng cung cấp hoạt động phức tạp kiểu liệu nguyên thủy Đối tượng đáp ứng lại thông điệp „ sử dụng để gửi thông điệp đến đối tượng Department of Software Engineering 3.2 Sử dụng đối tượng (2) Để gọi thành viên (dữ liệu thuộc tính) lớp đối tượng, sử dụng toán tử “.” Nếu gọi phương thức lớp tốn tử “.” khơng cần thiết Department of Software Engineering Ví dụ public class BankAccount{ private String owner; private double balance; public BankAccount(String name){ setOwner(name); } public void setOwner(String o){ owner = o; } public String getOwner(){ return owner; } … } public class Test{ public static void main(String args[]){ BankAccount acc1 = new BankAccount(); BankAccount acc2 = new BankAccount(“Hong”); } Department of Software Engineering 3.3 Thành phần static Nếu muốn sử dụng mà không muốn tạo đối tượng lớp Ỉ Khai báo static „ „ „ Thành phần tĩnh Thay đổi giá trị thành phần tĩnh đối tượng lớp Các thành phần tĩnh truy nhập mà không cần Department of Software Engineering 3.4 Thành phần Một thuộc tính khơng thể thay đổi giá trị trình sử dụng Cú pháp khai báo hằng: Ví dụ: public static final int VAL_THREE = 39; private final int[] A = { 1, 2, 3, 4, 5, }; Department of Software Engineering 3.4 Thành phần final (2) Thông thường số liên quan đến lớp khai báo static final nhằm giúp truy cập dễ dàng Một quy ước chung sử dụng ký tự hoa tên Department of Software Engineering Nội ...BỘ MÔN CÔNG NGHỆ PHẦN MỀM ViỆN CÔNG NGHỆ THÔNG TIN TRUYỀN THÔNG TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Bài 03. Đóng gói xây dựng lớp, tạo sử dụng đối tượng. LÝ THUYẾT NGÔN NGỮ HĐT Mục tiêu bài học • Nêu được bản chất, vai trò của trừu tượng hóa • Giải thích về đóng gói che giấu thông tin • Xây dựng lớp ▫ Định nghĩa lớp, thực hiện ẩn ▫ Tạo các phương thức, các trường/thuộc tính • Tạo sử dụng đối tượng ▫ Phương thức khởi tạo ▫ Khai báo khởi tạo đối tượng ▫ Sử dụng đối tượng 2 Nội dung 1. Trừu trượng hóa dữ liệu 2. Đóng gói xây dựng lớp 3. Tạo sử dụng đối tượng 3 1.1. Trừu tượng hóa • Giảm thiểu tinh lọc các chi tiết nhằm tập trung vào một số khái niệm/vấn đề quan tâm tại một thời điểm. ▫ “abstraction – a concept or idea not associated with any specific instance”. ▫ Ví dụ: Các định nghĩa toán học • 2 loại trừu tượng hóa ▫ Trừu tượng hóa điều khiển (control abstraction) ▫ Trừu tượng hóa dữ liệu (data abstraction) 1.1. Trừu tượng hóa (2) • Trừu tượng hóa điều khiển: Sử dụng các chương trình con (subprogram) các luồng điều khiển (control flow) ▫ Ví dụ: a := (1 + 2) * 5  Nếu không có trừu tượng hóa điều khiển, LTV phải chỉ ra tất cả các thanh ghi, các bước tính toán mức nhị phân… • Trừu tượng hóa dữ liệu: Xử lý dữ liệu theo các cách khác nhau ▫ Ví dụ: Kiểu dữ liệu  Sự tách biệt rõ ràng giữa các thuộc tính trừu tượng của kiểu dữ liệu các chi tiết thực thi cụ thể của kiểu dữ liệu đó. 1.2. Trừu tượng hóa dữ liệu trong OOP • Đối tượng trong thực tế phức tạp • Cần đơn giản hóa, bỏ qua những chi tiết không cần thiết • Chỉ “trích rút” lấy những thông tin liên quan, thông tin quan tâm, quan trọng với bài toán 6 7 1.2. Trừu tượng hóa dữ liệu (3) • Any model that includes the most important, essential, or distinguishing aspects of something while suppressing or ignoring less important, immaterial, or diversionary details. The result of removing distinctions so as to emphasize commonalties (Dictionary of Object Technology, Firesmith, Eykholt, 1995).  Cho phép quản lý các bài toán phức tạp bằng cách tập trung vào các đặc trưng quan trọng của một thực thể nhằm phân biệt nó với các loại thực thể khác. 8 1.2. Trừu tượng hóa dữ liệu (2) • Trừu tượng hóa là một cách nhìn hoặc cách biểu diễn một thực thể chỉ bao gồm các thuộc tính liên quan trong một ngữ cảnh nào đó. • Tập hợp các thể hiện của các thực thể thành các nhóm có chung các thuộc tính gọi là Lớp (class). 9 unclassified "things" 10 [...]... Student - name - address - studentID - dateOfBirth Lớp đối tượng trong UML Class :Student Student - name - address - studentID - dateOfBirth - name = “M Modano” - address = “123 Main St.” - studentID = 9 - dateOfBirth = “03/10/1967” Objects sv2:Student - name = “D Hatcher” - address = “456 Oak Ln.” - studentID = 2 - dateOfBirth = “12/11/1969” 17 Nội dung 1 Trừu trượng hóa dữ liệu 2 Đóng gói xây dựng. .. 3 Tạo sử dụng đối tượng 18 2.1 Đóng gói (Encapsulation) Client Methods • Một đối tượng có hai khung nhìn: ▫ Bên trong: Chi tiết về các thuộc tính các phương thức của lớp tương ứng với đối         28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 2 Mc tiêu Mc tiêu  !"#$%"&$%$'"()*$  +,"-$"$./"0"1$2"34$"5 /"0"1$2"3  !$6$"2"7%62"34   89$$6$:..;9,<=%>"? 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 3 Ni dung Ni dung  @A"0"1$2"3  @BC"5/"0"1$2"3  @DE  @FG9,<=%>"?H77  @IE6" 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 4 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo  JK<L9$M$2"3H?$2"  Lỗi khởi tạo là một trong các lỗi phổ biến  "0"1$2"3  Là phương thức đặc biệt được gọi tự động sau khi tạo ra đối tượng.  Nhằm mục đích chính là khởi tạo cho các thuộc tính của đối tượng. 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 5 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo  NO<?//",$"17-":*>/"0"1$2"3  Có nhiệm vụ tạo ra một thể hiện mới của lớp.  Tên của constructor trùng với tên của lớp  Constructor không có kiểu dữ liệu trả về  Mỗi lần một đối tượng được khai báo, phương thức khởi tạo của lớp được gọi đến nhằm tạo ra một đối tượng mới.  - public BankAccount(){ owner = “noname”; } 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 6 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo  EP2"'7new?$H9$H(H7$6$ *?$"<?/  Cú pháp: Ten_lop ten_doi_tuong = new thuc_khoi_tao(ds_ts);  Ví dụ: BankAccount account = new BankAccount(); 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 7 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo Circle(double r) { radius = r; } Circle() { radius = 1.0; } myCircle = new Circle(5.0); 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 8 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo  "0"1$2"32"Q$'6HRH,.4"2" ?P2"'7ST'H,.*>"7*$"!9! *?@ 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 9 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo  "0"1$2"3$'"(U$6$$"V R"H9W$X/  public  private  Không có (mặc định – phạm vi package).  N>/"0"1$2"32"Q"(U $6$P2"'7abstract4static4final4native4 synchronized@  C6$/"0"1$2"32"Q$ YS*"<thành viên của lớp. 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 10 6.1- Phương thức khởi tạo 6.1- Phương thức khởi tạo  "0"1$2"3*Z$R"[S\79< $H9$H]  Là phương thức khởi tạo không tham số  Java cung cấp sẵn một phương khởi tạo mặc định nếu ta không định nghĩa một phương khởi tạo trong lớp.  Phương thức khởi tạo mặc định do Java cung cấp có chỉ định truy cập giống như lớp của nó.  Khi đã định nghĩa một phương thức khởi tạo có tham số, nên cung cấp thêm một phương thức khởi tạo mặc định khác. [...]... Phương thức khởi tạo mặc định do Java cung cấp: class BankAccount{ private String owner; private double balance; } public class Test{ public static void main(String args[]) { BankAccount acc1 = new BankAccount(); } } 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 11 6.1- Phương thức khởi tạo  Phương thức khởi tạo tự viết: public class BackAccount{ private String owner; private double balance; public BankAccount(){... 31 Nội dung  6.1 Phương thức khởi tạo  6.2 Chồng phương thức khởi tạo  6.3 Sử dụng đối tượng  6.4 Quản lý bộ nhớ trong Java  6.5 So sánh đối tượng 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 32 6.4- Quản lý bộ nhớ trong Java  Java không sử BỘ MÔN CÔNG NGHỆ PHẦN MỀM ViỆN CÔNG NGHỆ THÔNG TIN TRUYỀN THÔNG TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Bài 03. Đóng gói xây dựng lớp, tạo sử dụng đối tượng. LÝ THUYẾT NGÔN NGỮ HĐT Mục tiêu bài học • Nêu được bản chất, vai trò của trừu tượng hóa • Giải thích về đóng gói che giấu thông tin • Xây dựng lớp ▫ Định nghĩa lớp, thực hiện ẩn ▫ Tạo các phương thức, các trường/thuộc tính • Tạo sử dụng đối tượng ▫ Phương thức khởi tạo ▫ Khai báo khởi tạo đối tượng ▫ Sử dụng đối tượng 2 Nội dung 1. Trừu trượng hóa dữ liệu 2. Đóng gói xây dựng lớp 3. Tạo sử dụng đối tượng 3 1.1. Trừu tượng hóa • Giảm thiểu tinh lọc các chi tiết nhằm tập trung vào một số khái niệm/vấn đề quan tâm tại một thời điểm. ▫ “abstraction – a concept or idea not associated with any specific instance”. ▫ Ví dụ: Các định nghĩa toán học • 2 loại trừu tượng hóa ▫ Trừu tượng hóa điều khiển (control abstraction) ▫ Trừu tượng hóa dữ liệu (data abstraction) 1.1. Trừu tượng hóa (2) • Trừu tượng hóa điều khiển: Sử dụng các chương trình con (subprogram) các luồng điều khiển (control flow) ▫ Ví dụ: a := (1 + 2) * 5  Nếu không có trừu tượng hóa điều khiển, LTV phải chỉ ra tất cả các thanh ghi, các bước tính toán mức nhị phân… • Trừu tượng hóa dữ liệu: Xử lý dữ liệu theo các cách khác nhau ▫ Ví dụ: Kiểu dữ liệu  Sự tách biệt rõ ràng giữa các thuộc tính trừu tượng của kiểu dữ liệu các chi tiết thực thi cụ thể của kiểu dữ liệu đó. 1.2. Trừu tượng hóa dữ liệu trong OOP • Đối tượng trong thực tế phức tạp • Cần đơn giản hóa, bỏ qua những chi tiết không cần thiết • Chỉ “trích rút” lấy những thông tin liên quan, thông tin quan tâm, quan trọng với bài toán 6 7 1.2. Trừu tượng hóa dữ liệu (3) • Any model that includes the most important, essential, or distinguishing aspects of something while suppressing or ignoring less important, immaterial, or diversionary details. The result of removing distinctions so as to emphasize commonalties (Dictionary of Object Technology, Firesmith, Eykholt, 1995).  Cho phép quản lý các bài toán phức tạp bằng cách tập trung vào các đặc trưng quan trọng của một thực thể nhằm phân biệt nó với các loại thực thể khác. 8 1.2. Trừu tượng hóa dữ liệu (2) • Trừu tượng hóa là một cách nhìn hoặc cách biểu diễn một thực thể chỉ bao gồm các thuộc tính liên quan trong một ngữ cảnh nào đó. • Tập hợp các thể hiện của các thực thể thành các nhóm có chung các thuộc tính gọi là Lớp (class). 9 unclassified "things" 10 [...]... Lớp vs Đối tượng  Đối tượng là sự vật thật, • Lớp là mô hình khái niệm, mô tả các thực thể là thực thể thực sự • Lớp như một bản mẫu,  Đối tượng là một thể hiện (instance) của một định nghĩa các thuộc lớp, dữ liệu của các đối tính phương thức chung của các đối tượng tượng khác nhau là khác nhau • Một lớp là sự trừu tượng  Mỗi đối tượng có một lớp xác định dữ liệu hành hóa của một tập các đối. .. Lớp đối tượng trong UML Class :Student Student - name - address - studentID - dateOfBirth - name = “M Modano” - address = “123 Main St.” - studentID = 9 - dateOfBirth = 03/ 10/1967” Objects sv2:Student - name = “D Hatcher” - address = “456 Oak Ln.” - studentID = 2 - dateOfBirth = “12/11/1969” 17 Nội dung 1 Trừu trượng hóa dữ liệu 2 Đóng gói xây dựng lớp 3 Tạo sử dụng đối tượng 18 2.1 Đóng gói. .. gói (Encapsulation) Client Methods • Một đối tượng có hai khung nhìn: ▫ Bên trong: Chi tiết về các thuộc tính các phương thức của lớp tương ứng với đối tượng ▫ Bên ngoài: Các dịch vụ mà một đối tượng có thể cung cấp cách đối tượng đó tương tác với phần còn lại của hệ thống Data 19 2.1 Đóng gói (2) • Dữ liệu/thuộc tính hành vi/phương thức được đóng gói trong một lớp  Encapsulation BankAccount... +credit(double) 20 2.1 Đóng gói (3) • Một đối tượng là một thực thể được 8/24/2011 Mục tiêu học Nêu chất, vai trò trừu tượng hóa Giải thích vềđóng gói che giấu thông tin Xây dựng lớp Bộ môn Công nghệ Phần mềm Viện CNTT & TT Trường Đại học Bách Khoa Hà Nội Đị nh nghĩa lớp, thực ẩn Tạo phương thức, trường/thuộc tính k o?sqìmg?g ︰mf?I。h?s ︸mf Bài 03 Đóng gói xây dựng lớp, tạo sửdụng đối tượng Tạo sửdụng đối tượng Phương thức khởi tạo Khai báo khởi tạo đối tượng Sửdụng đối tượng Nội dung Nội dung Trừu trượng hóa dữliệu Đóng gói xây dựng lớp Tạo sửdụng đối tượng Trừ u trư ợ ng hóa liệ u Đóng gói xây dựng lớp Tạo sửdụng đối tượng 1.1 Trừu tượng hóa loại trừu tượng hóa 1.1 Trừu tượng hóa (2) Trừu tượng hóa điều khiển Trừu tượng hóa dữliệu 8/24/2011 1.2 Trừu tượng hóa dữliệu OOP Đối tượng thực tếphức tạp 1.2 Trừu tượng hóa dữliệu (3) 1.2 Trừu tượng hóa dữliệu (2) Tập hợp thểhiện thực thểthành nhóm có chung thuộc tính Any model that includes the most important, essential, or distinguishing aspects of something while suppressing or ignoring less important, immaterial, or diversionary details The result of removing distinctions so as to emphasize commonalties (Dictionary of Object Technology, Firesmith, Eykholt, 1995) 10 11 12 8/24/2011 1.3 Lớp vs Đối tượng 13 14 Biểu diễn lớp UML Thuộc tính (attribute) gì? thành phần: Professor - name - employeeID : UniqueId - hireDate - status - discipline - maxLoad Student - name - address - studentID - dateOfBirth + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical() + teachClass() Lớp đối tượng UML :Student Student - name - address - studentID - dateOfBirth - name = “M Modano” - address = “123 Main St.” - studentID = - dateOfBirth = “03/10/1967” Nội dung Trừu trượng hóa dữliệu Đóng gói xây dự ng lớ p Tạo sửdụng đối tượng sv2:Student - name = “D Hatcher” - address = “456 Oak Ln.” - studentID = - dateOfBirth = “12/11/1969” 18 8/24/2011 2.1 Đóng gói (Encapsulation) 2.1 Đóng gói (2) Một đối tượng có hai khung nhìn: b ¡‹ BankAccount - owner: String - balance: double Methods + debit(double): boolean +credit(double) Data 19 2.1 Đóng gói (3) 20 2.2 Xây dựng lớp Thông tin cần thiết đểđị nh nghĩa lớp BankAccount - owner: String - balance: double Input Don’t know how it works, but it works! + debit(double): boolean +credit(double) Output 21 2.2 Xây dựng lớp (2) 22 2.2 Xây dựng lớp (3) Các lớp nhóm lại thành package Lớp đóng gói thành viên (member) String owner; double balance; 23 24 8/24/2011 2.2.1 Khai báo lớp Ví dụ- Khai báo lớp Cú pháp khai báo: package oop.k52.cnpm; package tenpackage; chi_dinh_truy_cap class TenLop { public class Student { // Than lop } … } 25 Ví dụ: private 2.2.2 Khai báo thành viên lớp public Không có 26 private Cùng lớp Cùng gói Khác gói class Student{ private String name; public String getName() { return this.name; } public void setName(String name) { this.name = name; } } 28 27 Ví dụ: private (2) class Student{ private String name; public String getName() { return this.name; } public void setName(String name) { this.name = name; } } class Manager{ private Student[] students; public initianize() { students[0] = new Students(); //student.name = “Hung”; error student.setName(“Hung”); } } a Thuộc tính Các thuộc tính phải khai báo bên lớp Student - name - address - studentID - dateOfBirth Nguyễn Thu Hương Nguyễn Hoàng Nam Hải Phòng… … Hà Nội… 29 30 8/24/2011 a Thuộc tính (2) b Phương thức Thuộc tính có thểđược khởi tạo khai báo BankAccount - owner: String - balance: double + debit(double): boolean +credit(double) boolean 32 31 * Kiểu dữliệu trảvề * Chữký phương thức (signature) Lệnh return 33 Ví dụ 34 c Thành viên public Boolean checkOdd(int i) { if (i %2 ==0) return true; else return false; } Ví dụ: final double PI = 3.141592653589793; public final int VAL_THREE = 39; private final int[] A = { 1, 2, 3, 4, 5, }; public Boolean checkOdd(int i) { return true; return false; } 35 8/24/2011 package com.megabank.models; public class BankAccount { private String owner; private double balance; 2.3 Che giấu dữliệu (Data hiding) public boolean ... private String owner; private double balance; public void setOwner(String o){ owner = o; } … } … Department of Software Engineering Ví dụ public class BankAccount{ private String owner; private... Engineering Nội dung Phương thức khởi tạo Chồng phương thức khởi tạo Sử dụng đối tượng Quản lý nhớ Java So sánh đối tượng Department of Software Engineering Quản lý nhớ Java Java không sử dụng... mặc định Java cung cấp „ Khi định nghĩa phương thức khởi tạo, nên „ Department of Software Engineering Ví dụ Phương thức khởi tạo mặc định Java cung cấp: public class BankAccount{ private String

Ngày đăng: 05/11/2017, 01:52

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w