1. Trang chủ
  2. » Hoá học lớp 11

Lập trình hướng đối tượng

7 5 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 265,72 KB

Nội dung

Kỹ thuật ấy đề cao nhân tố chức năng (fucntionality) và các mối quan hệ dữ liệu. OOP là phương thức tư duy mới để giải quyết vấn đề bằng máy tính. Để đạt kết quả, lập trình viên phải [r]

(1)

Chương

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Mục tiêu

Kết thúc chương, học viên có thể:

Định nghĩa Lập trình hướng Đối tượng (Object-oriented Programming) Nhận thức Trừu tượng hóa Dữ liệu (Data Abstraction)

Định nghĩa Lớp (Class)

Định nghĩa Đối tượng (Object)

Nhận thức khác biệt Lớp Đối tượng

Nhận thức cần thiết Thiết lập (Construction) Hủy (Destruction)

Định nghĩa tính Bền vững (Persistence) Hiểu biết tính Thừa kế (Inheritance) Định nghĩa tính Đa hình (Polymorphism)

Liệt kê thuận lợi phương pháp hướng Đối tượng

1.1 Giới thiệu Lập trình hướng Đối tượng (Object-oriented Programming)

Lập trình hướng Đối tượng (OOP) phương pháp thiết kế phát triển phần mềm Những ngôn ngữ OOP không bao gồm cú pháp trình biên dịch (compiler) mà cịn có mơi trường phát triển tồn diện Mơi trường bao gồm thư viện thiết kế tốt, thuận lợi cho việc sử dụng đối tượng

Đối với ngôn ngữ lập trình hỗ trợ OOP việc triển khai kỹ thuật lập trình hướng đối tượng dễ dàng Kỹ thuật lập trình hướng đối tượng cải tiến việc phát triển hệ thống phần mềm Kỹ thuật đề cao nhân tố chức (fucntionality) mối quan hệ liệu

OOP phương thức tư để giải vấn đề máy tính Để đạt kết quả, lập trình viên phải nắn vấn đề thành thực thể quen thuộc với máy tính Cách tiếp cận hướng đối tượng cung cấp giải pháp toàn vẹn để giải vấn đề

Hãy xem xét tình cần triển khai thành hệ thống máy vi tính: việc mua bán xe Vấn đề vi tính hóa việc mua bán xe bao gồm gì?

Những yếu tố rõ ràng liên quan đến việc mua bán xe là: 1) Các kiểu xe (model)

(2)

Những hoạt động liên quan đến việc mua bán:

1) Nhân viên bán hàng đưa khách hàng tham quan phòng trưng bày 2) Khách hàng chọn lựa xe

3) Khách hàng đặt hóa đơn 4) Khách hàng trả tiền

5) Chiếc xe trao cho khách hàng

Mỗi vấn đề chia thành nhiều yếu tố, gọi Đối tượng (Objects) Thực thể (Entities) Chẳng hạn ví dụ trên, khách hàng, xe nhân viên bán hàng đối tượng thực thể

Lập trình viên ln ln cố gắng tạo kịch (scenarios) thật quen thuộc với tình đời sống thực Bước thứ đường hướng làm cho máy tính liên kết với đối tượng giới thực

Tuy nhiên, máy tính cỗ máy Nó thực cơng việc lập trình mà thơi Vì thế, trách nhiệm lập trình viên cung cấp cho máy tính thơng tin theo cách thức mà nhận thức thực thể nhận thức Đó lãnh vực kỹ thuật hướng đối tượng Chúng ta sử dụng kỹ thuật hướng đối tượng để ánh xạ thực thể gặp phải đời sống thực thành thực thể tương tự máy tính

Phát triển phần mềm theo kỹ thuật lập trình hướng đối tượng có khả giảm thiểu lẫn lộn thường xảy hệ thống lãnh vực ứng dụng

Lập trình hướng đối tượng đề cập đến liệu thủ tục xử lý liệu theo quan điểm đối tượng Lập trình hướng đối tượng xem xét liệu thực thể đơn vị độc lập, với chất riêng đặc tính thực thể Bây khảo sát hạn từ ‘đối tượng’ (object), ‘dữ liệu’ (data) ‘phương thức’ (method)

Có nhiều loại đối tượng khác Chúng ta xem phận khác quan đối tượng Điển hình quan có phận liên quan đến việc quản trị, đến việc kinh doanh, đến việc kế toán, đến việc tiếp thị … Mỗi phận có nhân riêng, nhân trao cho trách nhiệm rõ ràng Mỗi phận có liệu riêng chẳng hạn thông tin cá nhân, bảng kiểm kê, thể thức kinh doanh, liệu liên quan đến chức phận Rõ ràng quan chia thành nhiều phận việc quản trị nhân hoạt động doanh nghiệp dễ dàng Nhân quan điều khiển xử lý liệu liên quan đến phận

(3)

khơng có thẩm quyền từ phận khác truy cập liệu, thay đổi làm hư hỏng liệu Ví dụ minh chứng đối tượng hữu dụng việc phân cấp tổ chức liệu

Hình 1.1 Minh họa cấu trúc quan điển hình

Khái niệm đối tượng mở rộng đến hầu hết lãnh vực đời sống, nữa, đến giới lập trình Bất kỳ ứng dụng định nghĩa theo hạn từ thực thể đối tượng để tạo tiến trình xử lý mơ theo tiến trình xử lý mà người nghĩ

Phương pháp giải ‘top-down’ (từ xuống) cịn gọi ‘lập trình hướng cấu trúc’ (structured programming) Nó xác định chức chương trình chức phân thành đơn vị nhỏ mức độ thấp Bằng kỹ thuật này, chương trình cấu trúc theo hệ thống phân cấp module Mỗi module có đầu vào riêng đầu riêng Trong module, điều khiển có chiều hướng xuống theo cấu trúc khơng có chiều hướng lên Phương pháp OOP cố gắng quản lý việc thừa kế phức tạp vấn đề đời thực Để làm việc này, phương thức OOP che giấu vài thông tin bên đối tượng OOP tập trung trước hết liệu Rồi gắn kết phương thức thao tác liệu, việc xem phần thừa kế việc định nghĩa liệu Bảng 1.1 minh họa khác biệt hai phương pháp:

Phương pháp Top-Down OOP

Chúng ta xây dựng khách sạn Chúng ta xây dựng tịa nhà 10 tầng với dãy phịng trung bình, sang trọng, phòng họp lớn

Chúng ta thiết kế tầng lầu, phòng

và phòng họp Chúng ta xây dựng khách sạn với thành phần Bảng 1.1 Một ví dụ hai phương pháp giải OOP Structured

Phịng Nhân Phịng Kế tốn

(4)

1.2 Trừu tượng hóa liệu (Data Abstraction)

Khi lập trình viên phải phát triển chương trình ứng dụng khơng có nghĩa người viết mã cho ứng dụng Trước hết, người phải nghiên cứu ứng dụng xác định thành phần tạo nên ứng dụng Kế tiếp, người phải xác định thông tin cần thiết thành phần

Hãy khảo sát chương trình ứng dụng cho việc mua bán xe nói Chương trình phải xuất hóa đơn cho xe bán cho khách hàng Để xuất hóa đơn, cần thông tin chi tiết khách hàng Vậy bước thứ xác định đặc tính 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 Tuổi Chiều cao Màu tóc

Từ danh sách kể trên, xác định đặc tính thiết yếu ứng dụng Bởi đề cập đến khách hàng mua xe, chi tiết thiết yếu là:

Tên Địa

Cịn chi tiết khác (chiều cao, màu tóc …) không quan trọng ứng dụng Tuy nhiên, phát triển ứng dụng hỗ trợ cho việc điều tra tội phạm thơng tin chẳng hạn màu tóc thiết yếu

Bên cạnh chi tiết khách hàng, thông tin sau cần thiết: Kiểu xe bán

Nhân viên bán xe

Bên cạnh đặc tính khách hàng, xe nhân viên bán hàng, cần liệt kê hành động thực

Cơng việc xuất hóa đơn địi hỏi hành động sau: Nhập tên khách hàng

Nhập địa khách hàng Nhập kiểu xe

(5)

Khung thông tin bên cho thấy thuộc tính hành động liên quan đến hóa đơn:

Các thuộc tính Tên khách hàng Đị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 Nhập kiểu xe

Nhập tên nhân viên bán xe Xuất hóa đơn

Tiếp theo, muốn ứng dụng tính tốn tiền hoa hồng cho nhân viên bán hàng Những thuộc tính liên kết với nhân viên bán hàng có tương quan với ứng dụng là:

Tên

Số lượng xe bán Tiền hoa hồng

Những hành động đòi buộc công việc là: Nhập tên nhân viên bán xe

Nhập số lượng xe bán Tính tiền hoa hồng kiếm

Những thuộc tính Tên

Số lượng xe bán Tiền hoa hồng

Những hành động Nhập tên

Nhập số lượng xe bán Định nghĩa

(6)

92 java.security

Đây gói API nhân bảo mật (the core security API package) Chứa lớp giao diện (interface) hỗ trợ mã hố (encryption), tính bảng tóm lược tài liệu chữ ký điện tử

java.security.acl

Chứa giao diện dùng cài đặt sách điều kiển truy cập java.security.cert

Cung cấp hổ trợ cho chứng nhận X.509 java.security.interfaces

Định nghĩa giao diện truy cập thuật toán chữ ký điện tử (the digital signature algorithm) java.security.spec

Cung cấp lớp độc lập phục thuộc vào thuật toán cho khố

Tóm tắt:

Nếu khả bảo mật applet không đảm bảo, liệu nhạy cảm có thểđược sữa đổi phơi bày

Mục đích JAR kết nối file mà applet sử dụng file nén đơn Điều cho phép applet nạp vào trình duyệt cách hiệu

Một file kê khai (manifest file) chứa thông tin file lưu trữ

Chữ ký điện tử mã hoá kèm với chương trình để nhận diện xác nơi nguồn gốc file

Keystore sở liệu khố Keytool cơng cụ khố bảo mật java

chứng nhận điện tử file, đối tượng, thông báo ký danh quyền chứng nhận (certificate authority)

Kiểm tra kiến thức:

1 File file lưu trữđược nén

2 Tuỳ chọn _, dùng với cơng cụ jar, trích rút tên file từ lưu trữ (file) JAR tựđộng tạo file kê khai, chí khơng true/false

4 Thuộc tính ,khi dùng thẻ applet, cho trình duyệt nạp file jar lưu trữ cụ thể, tìm file class nhập vào

5 Trong chữ ký điện tử, _được dùng cho mã hoá _được dùng cho giải mã

6 Tất thông tin keytool quản lý, lưu trữ sở liệu gọi _

7 keytool bước cần nhận chứng nhận true/false

8 Gói _chứa giao diện (interfaces) dùng cài đặt sách điều kiển truy cập

Bài tập:

Tạo các câu lệnh java thực hành động sau:

1 Tạo file jar ‘core-java.jar’ chứa file lớp (class file) file nguồn Liệt kê nội dung file jar

3 Tạo file html cho file CardLayoutDemo.class,file lớp chứa file jar trích rút (extract) file jar

5 Dùng lệnh keytool với tên bí danh keystore để tạo cặp khố cơng cộng/riêng Ký danh file jar tạo

(7)

93 Liệt kê nội dung keystore

Ngày đăng: 09/03/2021, 03:46

w