05 Dong goi va truu tuong hoa du lieu docx

49 402 0
05 Dong goi va truu tuong hoa du lieu docx

Đ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

LẬP TRÌNH JAVA Bài 5: Đóng gói trừu tượng hóa liệu Mục tiêu  Kết thúc bài học bạn có thể nắm được:    Nêu chất, vai trị trừu tượng hóa liệu Giải thích đóng gói che giấu thơng tin (Encapsulation & Information Hiding) Thực thi Java    28/07/14 Khai báo lớp Java Tạo phương thức, trường/thuộc tính Package Java Bộ Mơn CNPM - ĐHBK Hà Nội Nội dung       5.1 Trừu trượng hóa liệu 5.2 Đóng gói che giấu thơng tin 5.3 Khai báo lớp 5.4 Các thành viên lớp 5.5 Chồng phương thức 5.6 Gói (package) 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội 5.1- Trừu tượng hóa liệu  Trừu tượng hóa liệu (Data abstraction)  Khi khơng thể nắm bắt tồn đối tượng phức tạp  Bỏ qua chi tiết không cần thiết, thay vào mơ hình đối tượng tổng qt  Lớp (Class) thay đối tượng cụ thể, nhiều thông tin 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 5.1- Trừu tượng hóa liệu  Trừu tượng hóa liệu (Data abstraction)  Một cách nhìn cách biểu diễn thực thể bao gồm thuộc tính liên quan ngữ cảnh  Tập hợp thể thực thể thành nhóm có chung thuộc tính gọi Lớp (class)  Ví dụ: Trừu tượng hóa sinh viên cụ thể lớp học thành lớp SinhVien 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội Nội dung       5.1 Trừu trượng hóa liệu 5.2 Đóng gói che giấu thông tin 5.3 Khai báo lớp 5.4 Các thành viên lớp 5.5 Chồng phương thức 5.6 Gói (package) 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội 5.2- Đóng gói & che giấu tt  Đóng gói che giấu thơng tin  Dữ liệu/Thuộc tính hành vi/Phương thức đóng gói lớp  Encapsulation  Dữ liệu che giấu bên lớp truy cập thay đổi phương thức bên ngồi  Data hiding 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội Nội dung       5.1 Trừu trượng hóa liệu 5.2 Đóng gói che giấu thơng tin 5.3 Khai báo lớp 5.4 Các thành viên lớp 5.5 Chồng phương thức 5.6 Gói (package) 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội 5.3- Khai báo lớp  Đóng gói thuộc tính (attributes/fields) phương thức (methods)   Các lớp nhóm lại thành package    Thuộc tính phương thức gọi thành viên (members) lớp Một package bao gồm tập hợp lớp có quan hệ logic với Ví dụ: javax.swing, java.util… Lớp giống thiết kế; sử dụng để tạo đối tượng hay thể lớp 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 5.3- Khai báo lớp  Khai báo lớp:   Định danh khai báo lớp xác định tên lớp Cú pháp khai báo: chi_dinh_truy_cap class TenLop { // Than lop  } chi_dinh_truy_cap:  public: Lớp truy cập từ đâu, kể bên ngồi package chứa lớp  private: Chỉ truy cập phạm vi lớp  Khơng có (mặc định): Lớp truy cập từ bên package chứa lớp 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 10 5.5- Chồng phương thức  Ví dụ 2: class MyDate { public boolean setMonth(int m) { …} public boolean setMonth(String s) { …} } … MyDate d = new MyDate(); d.setMonth(9); d.setMonth(”September”); 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 35 Nội dung       5.1 Trừu trượng hóa liệu 5.2 Đóng gói che giấu thơng tin 5.3 Khai báo lớp 5.4 Các thành viên lớp 5.5 Chồng phương thức 5.6 Gói (package) 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội 36 5.6- Gói (Package)      Các lớp nhóm lại với thành gói (package) Gói coi thư mục, nơi tổ chức lớp Theo quy ước, tên package viết ký tự thường Các package khác chứa lớp có tên Khi nói đến tên lớp tức nói đến tên đầy đủ lớp bao gồm tên gói tên lớp 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội 37 5.6- Gói (Package)  Lợi ích package:      Giúp tổ chức lớp vào đơn vị (như thư mục) giúp xác định vị trí trở nên dễ dàng sử dụng lớp cách phù hợp Tránh cho việc đặt tên lớp bị xung đột (trùng tên) Bảo vệ lớp, liệu phương thức mức rộng so với mối quan hệ lớp Các tên gói sử dụng để nhận dạng lớp Các gói chứa gói khác 28/07/14 Bộ Mơn CNPM - ĐHBK Hà Nội 38 5.6- Gói (Package)  Tham chiếu lớp:    Trong package: Sử dụng tên lớp Khác package: Phải cung cấp tên đầy đủ cho lớp định nghĩa package khác Lệnh import:  Sử dụng lệnh import để khai báo package lớp để sử dụng không cần nêu tên đầy đủ 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 39 5.6- Gói (Package)  Các Package Java  java.lang     java.util   Cung cấp lớp cho thiết kế ngơn ngữ lập trình Java Bao gồm wrapper classes, String StringBuffer, Object, Import ngầm định vào tất lớp Bao gồm tập hợp framework, mơ hình kiện, date time, nhiều tiện ích khác java.io  28/07/14 Cung cấp khả vào / hệ thống với luồng liệu hệ thống file Bộ Mơn CNPM - ĐHBK Hà Nội 40 5.6- Gói (Package)  Các Package Java  java.math   java.sql   Cung cấp API cho phép truy nhập xử lý liệu lưu trữ nguồn liệu (thường sử dụng sở liệu quan hệ) javax.swing   Cung cấp lớp thực thi phép toán với số nguyên phép toán thập phân Cung cấp lớp giao diện cho phép tạo ứng dụng đồ họa … 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 41 5.6- Gói (Package)  java.math  Các lớp:    PI E Các phương thức lớp:     28/07/14 Các Các Các Các phương phương phương phương thức thức thức thức lượng giác số mũ làm trịn min, max, abs, random Bộ Mơn CNPM - ĐHBK Hà Nội 42 5.6- Gói (Package)  java.math  Các phương thức lượng giác  Math.sin(double rad)  Math.cos(double rad)  Math.tan(double rad)  Math.acos(double rad)  Math.asin(double rad)  Math.atan(double rad)  Math.toRadians(double deg)  Math.toDegrees(double rad) 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 43 5.6- Gói (Package)  java.math  Các phương thức lượng giác Phương thức     Giá trị trả Math.sin(0) Math.sin(Math.PI/6) Math.cos(0) Math.cos(Math.PI/6) 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 0.0 0.5 1.0 0.866 44 5.6- Gói (Package)  java.math  Các phương thức số mũ Phương thức Giá trị trả  Math.exp(double a) ea  Math.log(double a) ln(a)  Math.pow(double a, double b)  Math.sqrt(double a) 28/07/14 ab bậc hai a Bộ Môn CNPM - ĐHBK Hà Nội 45 5.6- Gói (Package)  java.math  Các phương thức làm tròn  double ceil(double x) x làm tròn lên giá trị nguyên gần Giá trị nguyên trả giá trị thực  double floor(double x) x làm tròn xuống giá trị nguyên gần Giá trị nguyên trả giá trị thực  double rint(double x) x làm tròn đến giá trị nguyên gần Nếu phần lẻ x 0.5 giá trị số chẵn  int round(float x) Trả (int)Math.floor(x+0.5)  long round(double x) Trả (long)Math.floor(x+0.5) 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 46 5.6- Gói (Package)  java.math            Các phương thức làm tròn Math.ceil(2.1) Math.ceil(-2.1) Math.floor(2.1) Math.floor(-2.1) Math.rint(2.1) Math.rint(-2.1) Math.rint(2.5) Math.round(2.6f) Math.round(-2.6) Math.round(2.0) 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 3.0 -2.0 2.0 -3.0 2.0 -2.0 2.0 -3 (g/t int) (g/t long) (g/t long) 47 5.6- Gói (Package)  java.math   Các phương thức min, max, abs, random Math.max(a, b) ; Math.min(a, b) Trả giá trị lớn / nhỏ tham số a, b  Math.abs(a) Trả giá trị tuyệt đối a  Math.random() Trả giá trị double ngẫu nhiên khoảng [0.0, 1.0) 28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 48 5.6- Gói (Package)  java.math Các phương thức min, max, abs, random Math.max(2, 3) Math.max(2.5, 3) 3.0 Math.abs(-2.4) 2.4 10+(int)(Math.random()*20) Số nguyên thuộc [10, 29] 10 + (Math.random()*20) Số thực thuộc [10.0, 30.0)       28/07/14 Bộ Môn CNPM - ĐHBK Hà Nội 49 ... 15 5.4- Các thành viên lớp  Ví dụ: Trong file java có lớp public public class HelloWorld1 { // Cac thuoc tinh private int iValue = 12; float fValue = 3.45f; //package // Phuong thuc main public... CNPM - ĐHBK Hà Nội 39 5.6- Gói (Package)  Các Package Java  java.lang     java.util   Cung cấp lớp cho thiết kế ngơn ngữ lập trình Java Bao gồm wrapper classes, String StringBuffer, Object,... tiện ích khác java.io  28/07/14 Cung cấp khả vào / hệ thống với luồng liệu hệ thống file Bộ Môn CNPM - ĐHBK Hà Nội 40 5.6- Gói (Package)  Các Package Java  java.math   java.sql   Cung

Ngày đăng: 28/07/2014, 04:20

Mục lục

    5.1- Trừu tượng hóa dữ liệu

    5.2- Đóng gói & che giấu tt

    5.3- Khai báo lớp

    5.4- Các thành viên của lớp

    5.5- Chồng phương thức

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

Tài liệu liên quan