JAVA PROGRAMING CHƯƠNG I: LẬP TRÌNH HĐT Thái Duy Quý Email: [email protected] – Mob: 0982 022 721
Download ReportTranscript JAVA PROGRAMING CHƯƠNG I: LẬP TRÌNH HĐT Thái Duy Quý Email: [email protected] – Mob: 0982 022 721
JAVA PROGRAMING CHƯƠNG I: LẬP TRÌNH HĐT
Thái Duy Quý Email: [email protected]
– Mob: 0982 022 721
NỘI DUNG
Định nghĩa Lập trình hướng Đối tượng.
Trừu tượng hóa Dữ liệu.
Định nghĩa Lớp, Đối tượng.
Phương thức Thiết lập và Hủy.
Định nghĩa tính Bền vững.
Định nghĩa về tính đóng gói dữ liệu.
Tính Thừa kế, Đa hình.
Những ưu điểm của phương pháp hướng Đối tượng.
Thái Duy Quý - Lập trình Java
Lập trình hướng đối tượng
Lập trình hướng Đối tượng (Object Oriented Programming - OOP) là một phương pháp thiết kế và phát triển phần mềm. Những ngôn ngữ có OOP bao gồm: Cú pháp. Trình biên dịch.
Một môi trường phát triển toàn diện: là một thư viện được thiết kế tốt, thuận lợi cho việc sử dụng các đối tượng.
Thái Duy Quý - Lập trình Java
Lập trình hướng đối tượng
Kỹ thuật lập trình OOP cải tiến việc phát triển các hệ thống phần mềm. Kỹ thuật OOP đề cao nhân tố chức năng và các mối quan hệ dữ liệu.
Cách tiếp cận OOP cung cấp một giải pháp toàn vẹn để giải quyết vấn đề
Thái Duy Quý - Lập trình Java
Ví dụ:
Hãy xem xét một tình huống mua bán xe hơi. Vấn đề vi tính hóa việc mua bán xe hơi bao gồm những gì?
Những yếu tố rõ ràng nhất liên quan đến việc mua bán xe hơi là: Các kiểu xe hơi.
Nhân viên bán hàng.
Khách hàng.
Thái Duy Quý - Lập trình Java
Ví dụ:
Những hoạt động liên quan đến việc mua bán: Nhân viên bán hàng đưa khách hàng tham quan phòng trưng bày.
Khách hàng chọn lựa một xe hơi.
Khách hàng đặt hóa đơn.
Khách hàng trả tiền.
Chiếc xe được trao cho khách hàng.
Thái Duy Quý - Lập trình Java
Ví dụ:
Mỗi vấn đề được chia ra thành nhiều yếu tố bao gồm: Đối tượng hoặc Thực thể. Chẳng hạn như ở ví dụ trên: khách hàng, xe hơi và nhân viên bán hàng là những đối tượng hoặc thực thể.
Thái Duy Quý - Lập trình Java
Lập trình hướng đối tượng
Phát triển phần mềm theo kỹ thuật lập trình hướng đối tượng có khả năng giảm thiểu sự lẫn lộn thường xảy ra giữa hệ thống và lĩnh vực ứng dụng. Lập trình hướng đối tượng đề cập đến dữ liệu và thủ tục xử lý dữ liệu theo quan điểm là một đối tượng duy nhất. Lập trình hướng đối tượng xem xét dữ liệu như là một thực thể hay là một đơn vị độc lập, với bản chất riêng và những đặc tính của thực thể ấy
Thái Duy Quý - Lập trình Java
Phương pháp “Top-Down”
Còn được gọi là ‘lập trình hướng cấu trúc’: Xác định những chức năng chính. Được phân thành những đơn vị nhỏ hơn cho đến mức độ thấp nhất. Các chương trình được cấu trúc theo hệ thống phân cấp các module: Mỗi một module có một đầu vào và một đầu ra.
Trong mỗi module, sự điều khiển có chiều hướng đi xuống.
Thái Duy Quý - Lập trình Java
Phương pháp “OOP”
Phương pháp OOP quản lý việc thừa kế phức tạp trong những vấn đề thực tế. Phương pháp OOP che giấu một vài thông tin bên trong các đối tượng. OOP tập trung trước hết trên dữ liệu. Rồi gắn kết các phương thức thao tác trên dữ liệu, việc này được xem như là phần thừa kế của việc định nghĩa dữ liệu.
Thái Duy Quý - Lập trình Java
Bảng ví dụ so sánh 2 PP:
Phương pháp Top-Down OOP
Chúng ta sẽ xây dựng một khách sạn.
Chúng ta sẽ xây dựng một tòa nhà 10 tầng với những dãy phòng trung bình, sang trọng, và một phòng họp lớn.
Chúng ta sẽ thiết kế các tầng lầu, các phòng và phòng họp.
Chúng ta sẽ xây dựng một khách sạn với những thành phần trên.
Thái Duy Quý - Lập trình Java
Trừu tượng hóa dữ liệu
Sự trừu tượng hóa dữ liệu là quá trình: Xác định và nhóm các thuộc tính và các hành động liên quan đến một thực thể cụ thể. Trong mối tương quan với ứng dụng đang phát triển.
Khảo sát ứng dụng bán xe hơi:
Thái Duy Quý - Lập trình Java
Ví dụ:
Bước 1: xác định những đặc tính của khách hàng. Một vài đặc tính gắn kết với khách hàng là: Tên.
Địa chỉ.
Tuổi.
Chiều cao.
Màu tóc.
Thái Duy Quý - Lập trình Java
Ví dụ:
Bước 2: Xác định những đặc tính thiết yếu đối với ứng dụng, những chi tiết thiết yếu là: Tên.
Địa chỉ.
Bên cạnh những chi tiết về khách hàng, những thông tin sau cũng cần thiết: Kiểu xe được bán.
Nhân viên nào bán xe.
Thái Duy Quý - Lập trình Java
Ví dụ:
Bước 3: Công việc xuất hóa đơn đòi hỏi những hành động sau: Nhập tên của khách hàng.
Nhập địa chỉ của khách hàng.
Nhập kiểu xe.
Nhập tên của nhân viên bán xe.
Xuất hóa đơn với định dạng đòi hỏi.
Thái Duy Quý - Lập trình Java
Ví dụ:
Cấu thành thuộc tính & hành động:
Các thuộc tính
Tên của khách hàng Địa chỉ của khách hàng Kiểu xe bán Nhân viên bán xe
Các hành động
Nhập tên Nhập địa chỉ Nhập kiểu xe Nhập tên nhân viên bán xe Xuất hóa đơn
Thái Duy Quý - Lập trình Java
Ví dụ:
Bước 4: Tính toán tiền hoa hồng cho nhân viên bán hàng: Tên.
Số lượng xe bán được.
Tiền hoa hồng.
Những hành động với công việc này là: Nhập tên nhân viên bán xe.
Nhập số lượng xe bán được.
Tính tiền hoa hồng kiếm được.
Thái Duy Quý - Lập trình Java
Ví dụ:
Cấu thành thuộc tính & hành động:
Những thuộc tính Những hành động
Tên Nhập tên Số lượng xe bán được Tiền hoa hồng Nhập số lượng xe bán được Tính tiền hoa hồng
Thái Duy Quý - Lập trình Java
Ưu điểm của trừu tượng hóa
Tập trung vào vấn đề.
Xác định những đặc tính thiết yếu và những hành động cần thiết.
Giảm thiểu những chi tiết không cần thiết.
Thái Duy Quý - Lập trình Java
Lớp
Một lớp định nghĩa một thực thể có: Những thuộc tính Những hành động chung.
Những thuộc tính và những hành động của thực thể được nhóm lại để tạo nên một đơn vị duy nhất gọi là một lớp.
Một lớp là một sự xác định cấp chủng loại của các thực thể giống nhau.
Thái Duy Quý - Lập trình Java
Ví dụ các lớp
Lớp Khách hàng
Tên khách hàng Địa chỉ khách hàng Kiểu xe được bán Nhân viên bán xe Nhập tên Nhập địa chỉ Nhập kiểu xe được bán Nhập tên nhân viên bán xe Xuất hóa đơn
Lớp Con người
Tên Chiều cao Màu tóc Viết Nói
Lớp Nhân viên bán hàng
Tên Số lượng xe bán được Tiền hoa hồng Nhập tên Nhập số lượng xe bán được Tính tiền hoa hồng
Thái Duy Quý - Lập trình Java
Đối tượng
Một đối tượng là một trường hợp của một lớp.
Một đối tượng là một thực thể cụ thể. Trong mỗi một đối tượng, các khía cạnh sau đây được xác định rõ: Tình trạng.
Thái độ.
Chân tính.
Thái Duy Quý - Lập trình Java
Đối tượng
Một đối tượng thực hiện một số hành động. Ví dụ: Một xe hơi có khả năng thực hiện những hành động sau: Khởi động.
Ngưng.
Chuyển động.
Để chuyển đổi giữa các đối tượng lập trình và các đối tượng đời thực, cần kết hợp các thuộc tính và các hành động của một đối tượng.
Thái Duy Quý - Lập trình Java
Ví dụ đối tượng
Thái Duy Quý - Lập trình Java
Thuộc tính
Một thuộc tính là một đặc tính mô tả một đối tượng.
Thuộc tính nắm giữ các giá trị dữ liệu trong một đối tượng, chúng định nghĩa một đối tượng cụ thể. Một thuộc tính có thể được gán một giá trị chỉ sau khi một đối tượng dựa trên lớp ấy được tạo ra.
Thái Duy Quý - Lập trình Java
Ví dụ về thuộc tính
Các thuộc tính của lớp Khách hàng
Tên của khách hàng Địa chỉ của khách hàng Kiểu xe được bán Nhân viên đã bán xe
Thái Duy Quý - Lập trình Java
Hoạt động
Các hành động khả thi, như được định nghĩa trong một lớp, được gọi là ‘các hoạt động’.
Định nghĩa:
Một hoạt động là một dịch vụ được yêu cầu của một đối tượng.
Một lớp chỉ là một nguyên mẫu, trong một lớp một hoạt động chỉ được định nghĩa.
Thái Duy Quý - Lập trình Java
Phương thức
Định nghĩa:
cầu.
Phương thức là sự xác định về cách thức thực thi một hoạt động được yêu Các phương thức xác định cách thức thao tác trên các dữ liệu của một đối tượng. Phương thức có thể được áp dụng cho một đối tượng.
Thái Duy Quý - Lập trình Java
Thông điệp
Để yêu cầu một hoạt động cụ thể nào đó được thực hiện, một thông điệp được gởi tới đối tượng nơi hoạt động này được định nghĩa.
Định nghĩa:
Một thông điệp là một lời yêu cầu một hoạt động.
Thái Duy Quý - Lập trình Java
Thông điệp
Các đối tượng gửi thông điệp cho nhau:
Thái Duy Quý - Lập trình Java
Sự kiện
Một sự kiện là một sự việc xảy ra cho một đối tượng tại một thời điểm. Để đáp ứng lại sự kiện ấy, đối tượng sẽ thực hiện một hoặc nhiều phương thức. Ví dụ: Click chuột, nhấn phím. Sự phản hồi đối với sự kiện này là việc hiển thị ký tự tương ứng trên màn hình.
Thái Duy Quý - Lập trình Java
Lớp và đối tượng
Một lớp định nghĩa một thực thể, trong khi đó một đối tượng là một trường hợp của thực thể ấy. Tất cả các đối tượng thuộc về cùng một lớp có cùng các thuộc tính và các phương thức.
Thái Duy Quý - Lập trình Java
Thiết lập & hủy
Thiết lập: Thiết lập là một tiến trình hiện thực hóa một đối tượng.
Hàm
thiết lập
là một phương thức đặc biệt phải được gọi trước khi sử dụng bất kỳ phương thức nào trong một lớp. Hàm Thiết lập khởi tạo các thuộc tính, và cấp phát bộ nhớ nếu cần.
Thái Duy Quý - Lập trình Java
Thiết lập & hủy
Hủy: Hàm Hủy là một phương thức đặc biệt được dùng để hủy bỏ một đối tượng.
Tiến trình
Hủy
tiêu hủy một đối tượng và giải phóng khoảng trống bộ nhớ mà hàm thiết lập đã cấp phát cho nó. Hàm
Hủy
cũng triệt tiêu khả năng truy cập đến đối tượng ấy.
Thái Duy Quý - Lập trình Java
Tính bền vững
Trường hợp bán xe hơi: Chi tiết khách hàng được lưu trữ ngay khi xe hơi đã được phân phối.
Việc duy trì dữ liệu vẫn cần thiết cho đến khi dữ liệu được chỉnh sửa hoặc hủy bỏ chính thức.
Định nghĩa:
Tính Bền vững là khả năng lưu trữ dữ liệu của một đối tượng ngay cả khi đối tượng ấy không còn tồn tại.
Thái Duy Quý - Lập trình Java
Tính đóng gói
Định nghĩa:
Đóng gói là tiến trình che giấu việc thực thi những chi tiết của một đối tượng đối với người sử dụng đối tượng ấy.
Ưu điểm: Có thể tạo ra bất kỳ thuộc tính hay phương thức cần thiết để đáp ứng đòi hỏi công việc khi xây dựng một lớp. Chỉ nhìn thấy phương thức, thuộc tính cho phép.
Thái Duy Quý - Lập trình Java
Tính đóng gói
Ví dụ: chiếc Tivi: Gồm vỏ, ruột. Dây điện, thiết bị ra. Ăng ten. Người dùng thấy gì ? Nút đầu ra theo chuẩn nào ? Đóng gói
Thái Duy Quý - Lập trình Java
Tính thừa kế
Định nghĩa:
khác.
Tính thừa kế cho phép một lớp chia sẻ các thuộc tính và các phương thức được định nghĩa trong một hoặc nhiều lớp
Định nghĩa:
Lớp thừa hưởng từ một lớp khác được gọi là lớp con.
Định nghĩa:
Lớp cha là một lớp mà các đặc tính của nó được một lớp khác thừa hưởng.
Thái Duy Quý - Lập trình Java
Tính thừa kế
Thái Duy Quý - Lập trình Java
Đa thừa kế
Trong ‘đa thừa kế’, một lớp con thừa kế từ hai hay nhiều lớp cha. Hãy khảo sát ví dụ sau:
Thái Duy Quý - Lập trình Java
Tính đa hình
Định nghĩa:
Tính đa hình cho phép một phương thức có các cách thể hiện khác nhau trên nhiều loại đối tượng khác nhau.
Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau..
Thái Duy Quý - Lập trình Java
Tính đa hình
Một ví dụ khác là phương thức hiển thị. Tùy thuộc vào đối tượng tác động, phương thức ấy có thể hiển thị một chuỗi, hoặc vẽ một đường thẳng, hoặc hiển thị một hình ảnh. Hãy khảo sát hình sau:
Thái Duy Quý - Lập trình Java
Ưu điểm của OOP
Phân tích, thiết kế và phát triển một vấn đề trong khuôn khổ những khái niệm và thuật ngữ thuộc lĩnh vực ứng dụng. Hỗ trợ việc chia sẻ bên trong một ứng dụng.
Phương pháp này hỗ trợ việc tái sử dụng các đối tượng nhằm giảm thiểu chi phí lâu dài.
Thái Duy Quý - Lập trình Java
Ưu điểm của OOP
Giảm thiểu các lỗi và những vấn đề liên quan đến việc bảo trì ứng dụng.
Khả năng tái sử dụng các đối tượng.
Tăng tốc tiến trình thiết kế và phát triển.
Thái Duy Quý - Lập trình Java
Bài tập
Bài tập 1
: Thiết kế các thành phần và các hành động khi một khách hàng thực hiện một giao dịch ATM (Automatic Teller Machine).
Bài tập 2
: Liệt kê những thuộc tính và những phương thức cần có để vẽ một hình đa giác.
Bài tập 3
: Thiết lập các thuộc tính & phương thức để thực hiện tính diện tích & chu vi các hình: Vuông, tam giác, chữ nhật, đường tròn.
Thái Duy Quý - Lập trình Java
THE END !
Thái Duy Quý - Lập trình Java