1. Trang chủ
  2. » LUYỆN THI QUỐC GIA PEN -C

Lập trình hướng đối tượng: Chương 1

7 9 0

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

THÔNG TIN TÀI LIỆU

Dùng lệnh ‘-printcert’ in chứng nhận được lưu trữ trong file, theo cách sau: keytool –printcert –file myfile.. Dùng lệnh ‘-help’ nhận về danh sách tất cả các lệnh keytool hổ trợ: keyto[r]

(1)

Chương

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mc 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ân viên bán hàng 3) Khách hàng

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

(2)

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ể

hay đơn vị độc lập, với chất riêng đặc tính thực thể Bây

chúng ta 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

Chẳng hạn phận kế toán chịu trách nhiệm lương bổng quan Nếu người đơn vị tiếp thị cần chi tiết liên quan đến lương bổng đơn vị mình, người

ấy cần liên hệ với phận kế tốn Một người có thẩm quyền phận kế tốn

cung cấp thơng tin cần biết, thơng tin chia sẻ Một người khơng có thẩm quyền từ phận khác khơng thể 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

(3)

Hình 1.1

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 stầng với nhẽữ xây dng dãy phịng trung bình, ựng tịa nhà 10 sang trọng, phòng họp lớn

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

các phòng phòng họp nhChúng ta sững thành phẽ xây dần ựng khách sạn với Bảng 1.1 Một ví dụ hai phương pháp giải OOP Structured 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

Phịng Nhân

sự Phịng Kế tốn

(4)

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

 Nhập tên nhân viên bán xe  Xuất hóa đơn với định dạng địi hỏi

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

(5)

Nhập tên nhân viên bán xe

Xuất hóa đơn Định nghĩa

Sự trừu tượng hóa liệu là tiến trình xác định nhóm thuộc tính hành

động liên quan đến thực thể đặc thù, xét mối tương quan với ứng dụng phát triể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 Tính tiền hoa hồng

Như thế, việc trừu tượng hóa liệu tra đặt câu hỏi ‘Đâu thuộc tính hành động cần thiết cho vấn đề đặt ra?’

1.2.1 Những thuận lợi việc Trừu tượng hóa Những thuận lợi việc Trừu tượng hóa là:

 Tập trung vào vấn đề

 Xác định đặc tính thiết yếu hành động đòi hỏi

 Giảm thiểu chi tiết không cần thiết

(6)

Enter keystore password (Nhp vào mt khu keystore)

Kết xuất hiển thị hai tuỳ chọn –Owner Issuer Nó hiển thị tên công ty, nghề nghiệp, tổ chức, địa điểm, bang tiền tệ Nó hiển thị số serial thời gian có giá trị Cuối cùng, hỏi có chứng nhận uỷ thác khơng Chứng nhận chấp thuận cho uỷ thác riêng bạn

Dùng lệnh ‘-list’ liệt kê nội dung keystore sau: keystool –list –keystore Store

Câu lệnh yêu yều password keystore

Dùng tuỳ chọn ‘-alias’ liệt kê mục Dùng lệnh -delete để xố bí danh keystore, sau:

keytool –delete –keystore Store –alias alias

Dùng lệnh ‘-printcert’ in chứng nhận lưu trữ file, theo cách sau: keytool –printcert –file myfile

Dùng lệnh ‘-help’ nhận danh sách tất lệnh keytool hổ trợ: keytool -help

10.6 Các gói bảo mật java (JAVA Security packages)

Các gói bảo mật Java bao gồm:

 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 khoá

Tóm tắt:

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

(7)

Đ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ã hố 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 khoá

 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ữ 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â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

6 Ký danh file jar tạo Xác minh chữ ký (signature) Xuất chứng nhận (certificate) Liệt kê nội dung keystore

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

Xem thêm:

w