Tài liệu BÀI 3 TÍNH BAO GÓI TRONG LẬP TRÌNH JAVA potx

25 396 0
Tài liệu BÀI 3 TÍNH BAO GÓI TRONG LẬP TRÌNH JAVA potx

Đ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 3 TÍNH BAO GÓI TÍNH BAO GÓI TRONG L Ậ P TR Ì NH JAV A Ậ GIẢNG VIÊN TRẦNTHỊ VÂN GIẢNG VIÊN : TRẦN THỊ VÂN v1.0011107228 1 TÌNH HUỐNG DẪN NHẬP Bài toán : Hệ thống quản lý chuột máy tính Bài toán : Hệ thống quản lý chuột máy tính Chủ cửa hàng Nam Việt chuyên cung cấpcácloạichuộtmáytínhmuốnxâydựng một phầnmềm để tiệnchoviệcquảnlý.Quatìmhiểutathấycó2loạichuộtcơ bảnlàchuột không dây và chuột có dây chúng thuộcloạichuột quang hoặcchuộtlaser. Mộtyêucầukháclàchủ cửahàngmuốn sau khi xây dựng phầnmềmnàycóthể tái sử dụng lạimộtsố lớp đốitượng để mình tự viếtmộtsố chương trình khác. Vậy theo Anh Chị làm thế nào để có thể phân loại để quảnlýđượcthôngtin ể ể  về các loạichuột? V àlàmsaođ ể có th ể tái s ử dụng lạimộtsố chương trình đã đượcxâydựng?  v1.0011107228 2 MỤC TIÊU BÀI HỌC Trình bày về tính bao gói trong lập trình hướng đối tượng. Mô tả cách tổ chức lớp sử dụng package và cách thức kiểm soát truy xuất vào các thành phầncủa đốitượng th ô ng qua các từ khóa (private public vào các thành phần của đối tượng th ô ng qua các từ khóa (private , public , protected, default). Xây dựng chương trình gồmcáclớpvới các thành phầnsử dụng các từ khóa ấ đ ổ hứ k truy xu ấ t đ ượct ổ c hứ ctrongpac k age. v1.0011107228 3 NỘI DUNG 1 Giới thiệu về tính bao gói trong lập trình hướng đối tượng . Giới thiệu về tính bao gói trong lập trình hướng đối tượng . 2 Cách thứctổ chứclớpsử dụng Package. 3 Cách thức kiểm soát truy xuất vào các thành phần của đối tượng 3 Cách thức kiểm soát truy xuất vào các thành phần của đối tượng . v1.0011107228 4 3.1. TÍNH BAO GÓI TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Khả năng truy xuất vào các thành phầncủamột đốitượng trong khi vẫn đảmbảocác thôngtinriêngtư bên trong đốitượng đượcgọilàtínhchegiấu thông tin (hay còn gọi là tính bao gói) là tính bao gói) . Chương trình quảnlýchuột được đóng gói trong đĩaCD. Người sử dụng có thể sử dụng dữ Người sử dụng có thể sử dụng dữ liệu được đóng gói. v1.0011107228 5 3.2. TỔ CHỨC LỚP TRONG CÁC PACKAGE Package và cách thứctổ chứccáclớptrongJava. 1.1 1 Truy xuất vào các lớp trong package 11 2 Truy xuất vào các lớp trong package . 1 . 1 2 v1.0011107228 6 3.2.1. PACKAGE VÀ CÁCH THỨC TỔ CHỨC LỚP VÀO PACKAGE •Khisố lượng lớpcótrongmột ứng dụng tăng lên có thể nảysinhcácvấn đề:  Tìm kiếm ;  Tìm kiếm ;  Tên lớpdài;  Vấn đề lớp trùng tên ;  Vấn đề lớp trùng tên ;  Chia sẻ,táisử dụng và tích hợp. •Javachophéptổ chứccáclớpvàocác package. Package là cơ chế tổ chứclớp giống như tổ chứccâythư mụctrong máy tính . máy tính . Với bài tập tình huống có thể tổ chứcquảnlýloạichuộtnhư trên chức quản lý loại chuột như trên v1.0011107228 7 Sử dụng từ khóa package ở dòng đầu tiên của file mã nguồn java theo sau là tên 3.2.1. PACKAGE V À C Á CH TH Ứ C T Ổ CH Ứ C L Ớ P V À O PACKAGE (tiếp theo) Sử dụng từ khóa package ở dòng đầu tiên của file mã nguồn java , theo sau là tên package. GeniusMouse.java package ChuotDay.ChuotLaser; public class GeniusMouse{} RazerNageMouse.java package ChuotDay.ChuotQuang; public class RazerNageMouse{} public class RazerNageMouse{} GeniusMouse.java package ChuotKhongDay ChuotLaser; package ChuotKhongDay . ChuotLaser; public class GeniusMouse{} RazerNagaMouse java RazerNagaMouse . java package ChuotKhongDay.ChuotQuang; public class RazerNagaMouse{} v1.0011107228 8 Tổ chức file trong thư mụcTổ chức lớp trong package 3.2.2. TRUY XUẤT VÀO CÁC LỚP TRONG PACKAGE • Sử dụng từ khóa import : • Sử dụng từ khóa import : package demo; import ChuotDay.ChuotLaser.GeniusMouse; public class PackageDemo{ public class PackageDemo{ public void runDemo { G eniusMouse s =new G eniusMouse (); (); ChuotKhongDay.ChuotLaser.GeniusMouse gen = new ChuotKhongDay.ChuotLaser.GeniusMouse(); } } •Sử dụng tên đầy đủ của một lớp khi có sự xung đột về tên lớp. v1.0011107228 9 3.2.3. CÁC PACKAGE XÂY DỰNG SẴN •Nềntảng java cung cấpcholậptrìnhviênmộttậpcácJavaAPIcơ bản để lậptrình ứng dụng. á ó ả •C á cg ó icơ b ả n:  java: chứacácgóithư việnchuẩncủajava. j l á lớ th iệ ặ đị h đ it t h tì h j  j ava. l ang: c á c lớ p thư v iệ nm ặ c đị n h đ ược i mpor t t rong c h ương t r ì n h j ava.  java.util: các lớptiệních.Vídụ lớp Scanner giớithiệutrongbài1.  j hứ á ói thư iệ h ẩ ở ộ  j avax: c hứ ac á cg ói thư v iệ nc h u ẩ nm ở r ộ ng •Cácgóinàyđượcnénvàotrongfilejarđặttrongthư mụclibcủaJDK.Khisử dụng cần cung cấp CLASSPATH dẫn tới cần cung cấp CLASSPATH dẫn tới . Sử dụng công cụ jar củaJavangườidùngcóthể tự nén các lớptrongchương trình thành một file jar duy nhất tiện cho việc chia sẻ và cài đặt . thành một file jar duy nhất tiện cho việc chia sẻ và cài đặt . v1.0011107228 10 [...]... time At any time Unlimited times 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: • • Sử dụng được gói đã tạo và các gói được cung cấp sẵn ử ó à á ó ấ ẵ • Hiểu cách sử dụng các bổ từ truy xuất: private, public, private public protected, default • v1.0011107228 Hiểu được cách tạo gói Xây dựng ứng dụng phân chia trong các gói khác nhau 22 PROPERTIES On passing 'Finish'... không • Java cung cấp các mức truy xuất tương ứng với các từ khóa sau:  public p  private  : không chỉ định từ khóa truy xuất v1.0011107228 12 3. 3.1 SỬ DỤNG TỪ KHÓA PUBLIC • Từ khóa public tạo ra mức độ truy xuất lớn nhất • Từ khóa public được áp dụng cho lớp, interface, trường, hàm tạo và phương thức  Áp dụng cho lớp hoặc interface: Có thể truy xuất vào lớp, interface này từ các gói khác... String toString() { return "Name: " + this.name; } } v1.0011107228 13 3 .3. 2 SỬ DỤNG TỪ KHÓA PRIVATE • Từ khóa tạo ra mức độ truy xuất hẹp nhất • Từ khóa private có thể áp dụng cho lớp, interface, trường, hà tạo và phương thức f ờ hàm à h hứ  Áp dụng cho lớp và interface: Không thể truy xuất vào các lớ hô hể ấ à á lớp, interface này từ các gói khác  Áp dụng cho trường hàm tạo và trường, phương thức: Không.. .3. 2 .3 CÁC PACKAGE XÂY DỰNG SẴN (tiếp theo) / /** * Write a description of class Client here * Client .java */ import java. util.Scanner; import ChuotDay.ChuotLaser.GeniusMouse; public class Client { p public void inputMouse() { p Scanner scan = new Scanner(System.in);... publisher; this.description = description; } @Override public String toString() { return "Name: " + this.name; } } v1.0011107228 14 3. 3.2 SỬ DỤNG CHỈ THỊ TRUY XUẤT MẶC ĐỊNH pac age ouse package mouse.wiredmouse; ed ouse; • Khi không chỉ định từ khóa truy xuất thì java sẽ áp dụng chỉ thị truy xuất mặc định default • Chỉ thị truy xuất mặc định có thể áp dụng cho lớp, interface, trường, hàm tạo... mouse: " + gen.toString()); } } Đáp án tham khảo v1.0011107228 11 3. 3 KIỂM SOÁT TRUY XUẤT Các từ khóa truy xuất: • Sử dụng từ khóa truy xuất private • Sử dụng từ khóa truy xuất public • Sử dụng từ khóa truy xuất • ả g tổ g ết Bảng tổng kết • Các từ khóa truy xuất được dùng để điều khiển cách thức truy cập vào các thành phần trong một lớp • Các từ khóa truy xuất cũng quyết định xem một thành... System.out.println(“publisher: " + objCD.publisher); } } speed: 10 d Exception in thread "main" java. lang.RuntimeException: Uncompilable source code - publisher has private access in CD at Client.main(Client .java: 5) Java Result: 1 v1.0011107228 16 CÂU HỎI THẢO LUẬN Bổ từ public và protected có gì khá nhau bli à t t d ó ì khác h 17 CASE STUDY Mô phỏng sự hoạt động của đồng hồ điện tử: Lớp các đối tượng đồng hồ... description of class Client here * Client .java * @author (your name) * @version (a version number or a date) */ public class Client { public static void demoStudent() { CD objCD = new CD("MAXELL", "DVD-R", 10); CD( MAXELL , DVD R , System.out.println("speed: " + objCD.speed); System.out.println(“publisher: " + objCD.publisher); } } speed: 10 d Exception in thread "main" java. lang.RuntimeException: Uncompilable... khả năng hiển thị giờ, phút, giây theo định dạng: hh:mm:ss • Có khả năng thay đổi trạng thái giờ phút giấy sau mỗi lần chạy giờ, phút, chạy • Một đối tượng đầu cuối sẽ sử dụng đối tượng đồng hồ và chạy trong khoảng 1000s v1.0011107228 18 BẢNG TÓM TẮT Elements Visible in Access modifier Subclass Outside Class Package public yes yes yes yes protected yes yes yes no private yes no no no no modifier yes... trường, hàm tạo và phương thức  Áp dụng cho lớp interface: Chỉ lớp, truy xuất được các lớp, interface này khi cùng một package  Áp dụng cho trường, hàm tạo, phương thức: Chỉ truy xuất được từ các lớp trong cùng một package v1.0011107228 public class GeniusMouse { public String name; private St i i t String publisher; bli h String description; public GeniusMouse() {} public GeniusMouse(String name, . DUNG 1 Giới thiệu về tính bao gói trong lập trình hướng đối tượng . Giới thiệu về tính bao gói trong lập trình hướng đối tượng . 2 Cách thứctổ chứclớpsử dụng Package. 3 Cách thức kiểm soát truy xuất vào các thành phần của đối tượng 3 Cách thức kiểm soát truy xuất vào các thành phần của đối tượng . v1.0011107228 4 3. 1 đốitượng trong khi vẫn đảmbảocác thôngtinriêngtư bên trong đốitượng đượcgọilàtínhchegiấu thông tin (hay còn gọi là tính bao gói) là tính bao gói) . Chương trình

Ngày đăng: 26/02/2014, 03:20

Hình ảnh liên quan

• Bảng tổng kết. ảg tổ g ết - Tài liệu BÀI 3 TÍNH BAO GÓI TRONG LẬP TRÌNH JAVA potx

Bảng t.

ổng kết. ảg tổ g ết Xem tại trang 12 của tài liệu.
BẢNG TÓM TẮT - Tài liệu BÀI 3 TÍNH BAO GÓI TRONG LẬP TRÌNH JAVA potx
BẢNG TÓM TẮT Xem tại trang 19 của tài liệu.

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