BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA(Chương Cuối )

46 640 5
BÀI GIẢNG LẬP TRÌNH HƯỚNG  ĐỐI TƯỢNG VỚI JAVA(Chương Cuối )

Đ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

Slide 1/47 Chương 7 INTERFACE và PACKAGE Slide 2/47 ÔN TẬP 2 loại error: syntax error, run-time error. run-time error được gọi là exception. Khi một exception, JVM xuất động một object (chứa mô tả về exception này). Lớp trên cùng của các error là lớp Throwable ( lớp cho các đối tượng xuất động của JVM) Có rất nhiều Exception để trong các gói thư viện của Java. Slide 3/47 ÔN TẬP Bẫy lỗi bằng try . catch . finally Nếu hành vi chứa một code có thể gây lỗi, chỉ thị bằng throws Trong code của hành vi, có thể xuất một exception bằng throw new ExceptionClass (“Msg”); Tự định nghĩa một Exception là khai báo một lớp kế thừa một Exception đã có. Slide 4/47 ÔN TẬP Java cung cấp sẵn một garbage collector. Chủ động gọi GC bằng System.gc() hoặc thông qua một đối tượng RunTime. class RunTime chứa thông tin về môi trường thức thi Java app. Thời gian trong Java là một số long theo đơn vị mili giây kể từ 1-1-1970. Sử dụng java.util.Date để thao tác với dữ liệu thời gian. Có thể thông qua đối tượng System để lấy thời gian hiện hành của máy (theo mili, nano second). Slide 5/47 MỤC TIÊU Giải thích được interface là gì. Khai báo được interfece. Hiện thực được interface trong lớp. Giải thích được tính thừa kế của interface. Định nghĩa đối tượng bằng interface. Giải thích được package của Java là gì. Tạo được package. Sử dụng được lớp trong package. Slide 6/47 NỘI DUNG 7.1- Interface là gì? 7.2- Khai báo interface 7.3- Hiện thực interface trong một lớp 7.4- Interface thừa kế 7.5- Định nghĩa trực tiếp đối tượng bằng interface 7.6- Package là gì? 7.7- Tạo package. 7.8- Sử dụng package. Slide 7/47 7.1- Interface là gì? Theo phương pháp phân cấp thừa kế, có thể lớp cha có những hành vi chưa biết viết code thề nào  hành vi trừu tượng  lớp trừu tượng. Ta muốn một lớp được thừa kế từ nhiều lớp trừu tượng mà không bị khống chế bởi tính đơn thừa kế. Giải pháp: Interface Slide 8/47 Interface . Interface là một khai báo bao gồm một tập đặc điểm gốm các hằng, các hành vi mà không muốn khai báo lớp. Interface mang ý nghĩa “như là một lớp hoàn toàn trừu tượng” Interface mang ý nghĩa khai báo trước một nhóm các xử lý cần có. Interface là một đặc điểm của các ngôn ngữ OOP mới như Java, C#. Interface được xem như là một lớp hoàn toàn trừu tượng. Interface là một công cụ để hiện thực dạng đa thừa kế trong Java, C#. Slide 9/47 7.2- Khai báo interface Khai báo interface bằng 1 file.java, biên dịch thành file.class. Cú pháp [modifier] interface InterfaceName { [ modifier] <final data> [ modifier] DataType Method (args); } Chọn modifier là public để mọi nơi đều dùng được. Không có modifier để chỉ cho cùng gói/ cùng thư mục truy cập. Modifier trong interface NÊN là public để dễ dùng. Slide 10/47 Thí dụ: Nhận xét: Các hình vẽ đều cần - hằng PI - tác vụ tính diện tích, - tính chu vi - mà ta không muốn tạo lớp trừu tượng  Tạo 1 interface. [...]... Thí dụ Slide 22/47 7.5-Định nghĩa trực tiếp đối tượng bằng interface Có thể định nghĩa trực tiếp một đối tượng bằng interface hoặc lớp trừu tượng với điều kiện có cụ thể hóa các hành vi Đối tượng được định nghĩa trực tiếp gọi là đối tượng thuộc lớp vô danh (anonymous class) Nghĩa là, không có tên lớp, chỉ định nghĩa một đối tượng thuộc interface hoặc lớp trừu tượng rồi hiện thực các hành vi Slide 23/47... interface bằng code trống Tạo động một đối tượng thuộc lớp trừu tượng (anonymous class), chỉ override methods được cần đến Đây là kỹ thuật mà Java sử dụng để tạo các lớp gọi là Adapter giúp cho người lập trình bớt phải viết code các methods trong interface Slide 26/47 Thí dụ Lớp abstract nhưng có code thật là code rỗng Slide 27/47 7.6- Package là gì? Phân tích, quản lý project Bài toán Nhóm 1 class C1 class... interface Slide 17/47 Thí dụ: 2 interface cụ thể interface cho việc tính toán các hình vẽ interface cho việc nhập xuất đối tượng Slide 18/47 Thí dụ: Sử dụng 2 interface Slide 19/47 Bài tập Tương tự với vòng tròn, bạn tự làm với Ellipse, tam giác, hình chữ nhật, hình vuông Chu vi ellipse: pi(Rx + Ry) diện tích ellipse: pi*Rx*Ry Slide 20/47 7.4- Interface thừa kế Interface có thể thừa kế interface cha Interface... hành vi Slide 24/47 Đối tượng interface và lớp trừu tượng dang dở Không có đoạn này khi compile sẽ báo lỗi Slide 25/47 Lớp “giả” trừu tượng Một thể hiện của 1 interface phải hiện thực đầy đủ các hành vi đã khai báo trong interface này Tình huống: Ta muốn có một thể hiện của 1 interface nhưng chỉ muốn hiện thực một vài methods của interface này thì sao? Giải pháp: Lớp “giả” trừu tượng, lớp abstract... hành vi của interface Error Slide 14/47 Thí dụ: Lớp trừu tượng có thể chưa cụ thể các method của interface Modifier của hành vi cụ thể của các method trong interface phải là public Slide 15/47 Thí dụ: Biến interface Khai báo biến thông qua interface Biến interface chỉ được dùng với các hành vi có trong interface Slide 16/47 Sửa lại chương trình Thí dụ: Biến interface Biến interface chỉ dùng được các... gói khác đã được biên dịch thành Java bytecode Tổ chức của 1 package là 1 thư mục có tên là tên của package  Sub-package là 1 gói con (thư mục con) của 1 package mức cao hơn (giống cấu trúc thư mục) Gói là công cụ tạo khả năng tái sử dụng mã (reusable code) Slide 29/47 7.7- Tạo package Khai báo package trong code của class Dùng từ khóa package Cú pháp: package PackageCha[.PackageCon]; Phài là dòng đầu... -file.class của code này sẽ } được đặt vào thư mục này Slide 30/47 7.8- Sử dụng Package Dùng chỉ thị import với một trong các cú pháp sau: import import import import PackageName.*; PackageCha.PackageCon.*; PackageName.ClassName; PackagCha.PackageCon.ClassName; Slide 31/47 Thí dụ Tạo các package với cấu trúc: Slide 32/47 Thí dụ Slide 33/47 Thí dụ Slide 34/47 Thí dụ Slide 35/47 Thí dụ Tham khảo gói... việc này Slide 11/47 7.3- Hiện thực interface trong một lớp Một lớp có code cụ thể hóa các hành vi của một interface thì gọi là implementation Một lớp có thể hiện thực nhiều interface (có dạng đa thừa k ) Cú pháp xây dựng một lớp có hiện thực interface: Slide 12/47 Cú pháp xây dựng lớp có hiện thực interface [modifier] class Tên extends LớpCha implements Interface1, interface2, { . interface cho việc nhập xuất đối tượng Slide 19/47 Thí dụ: Sử dụng 2 interface Slide 20/47 Bài tập Tương tự với vòng tròn, bạn tự làm với Ellipse, tam giác,. java.util.Date để thao tác với dữ liệu thời gian. Có thể thông qua đối tượng System để lấy thời gian hiện hành của máy (theo mili, nano second). Slide 5/47 MỤC

Ngày đăng: 23/07/2013, 01:26

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan