Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,68 MB
Nội dung
BỘ MÔN CÔNG NGHỆ PHẦN MỀM VIỆN CNTT & TT TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI IT3100 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 01 Tổng quan OOP CuuDuongThanCong.com https://fb.com/tailieudientucntt Mục tiêu học • Tìm hiểu tổng quan Cơng nghệ lập trình hướng đối tượng • Khái niệm, Ưu điểm, vai trò, ứng dụng, Sự phát triển ngơn ngữ lập trình • Tìm hiểu Đối tượng lớp • Đối tượng, trạng thái, hành vi • Lớp, thuộc tính, phương thức • Tương tác đối tượng (thơng điệp, giao diện) • Tìm hiểu Ngơn ngữ lập trình Java • Giới thiệu Java, Nền tảng Java, Mơ hình dịch Java • Tính ứng dụng Java • Cài đặt mơi trường lập trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung Công nghệ hướng đối tượng (HĐT) Đối tượng lớp Ngơn ngữ lập trình Java Cài đặt mơi trường lập trình CuuDuongThanCong.com https://fb.com/tailieudientucntt 1/ Cơng nghệ HĐT CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Kỹ thuật lập trình • Kỹ thuật lập trình: Kỹ thuật thực thi giải pháp phần mềm (cấu trúc liệu + giải thuật) dựa tảng phương pháp luận (methodology) nhiều ngơn ngữ lập trình phù hợp với u cầu đặc thù ứng dụng • Ngơn ngữ lập trình • Là ngơn ngữ chuẩn hóa • Cả người máy tính đọc hiểu • Sử dụng chương trình dịch tương ứng để biên dịch tồn chương trình nguồn thành mã máy trước thực CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.2 Sự phát triển ngơn ngữ lập trình Ngơn ngữ máy Lập trình Hướng thủ tục Hướng đối tượng Assembly language CuuDuongThanCong.com https://fb.com/tailieudientucntt "Tất thứ đối tượng" -Alan Kay 1.3 Lập trình hướng đối tượng • Thể thành phần toán “đối tượng” (object) • Hướng đối tượng kỹ thuật để mơ hình hóa hệ thống thành nhiều đối tượng tương tác với Reality House Tom Car Flower Object-oriented modeling Model House CuuDuongThanCong.com drives lives in Car gets Tom https://fb.com/tailieudientucntt Flower 1.4 Công nghệ đối tượng (OOT) • Cơng nghệ đối tượng tập quy tắc (trừu tượng hóa, đóng gói, đa hình), hướng dẫn để xây dựng phần mềm, với ngôn ngữ, sở liệu công cụ khác hỗ trợ quy tắc (Object Technology - A Manager’s Guide, Taylor, 1997) • Các mốc cơng nghệ đối tượng Simula C ++ The UML 1967 Late 1980s 1996 1972 1991 2004 Smalltalk Java UML CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.4.1 OOT sử dụng đâu? • Các hệ thống Client/Server phát triển Web • Hệ nhúng (embedded system) • Hệ thống thời gian thực (realtime) • Hệ thống phần mềm nói chung… CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.5 Các nguyên lý OOT Đa hình Thừa kế Đóng gói Trừu tượng hóa Hướng đối tượng 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.3 Mơ hình dịch Java (2) • Mơ hình dịch Java • Tiêu chí "Viết (code) lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)) • Mã nguồn biên dịch thành bytecode thông dịch JVM Src: guru99.com 33 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.3 Mơ hình dịch Java (3) • Máy ảo Java (Java Virtual Machine): • Máy ảo Java trái tim ngơn ngữ Java • Tạo mơi trường bên để thực thi lệnh: • Nạp file class • Quản lý nhớ • Dọn “rác” • Trình thơng dịch “Just In Time - JIT” • Chuyển tập lệnh bytecode thành mã máy cụ thể cho loại CPU 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.4 Tính Java • Đơn giản, hướng đối tượng quen thuộc • Mạnh mẽ an tồn • Kiến trúc trung lập di động • Thực thi với hiệu suất cao • Thơng dịch, đa luồng động • Dễ sử dụng cho người dùng Java 35 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.4 Tính Java (2) • Đơn giản • Từ khóa • Java có 50 từ khóa • So với Cobol hay VB có tới hàng trăm từ khóa • Có ý nghĩa đặc biệt ngơn ngữ • Được sử dụng để viết câu lệnh • Hướng đối tượng • Java hỗ trợ phát triển phần mềm cách sử dụng khái niệm “đối tượng” • Phần mềm phát triển sử dụng Java bao gồm lớp đối tượng 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.4 Tính Java (3) • Mạnh mẽ • Thư viện lớp: Hàng trăm lớp viết trước với nhiều phương thức tiện ích • Java sử dụng mơ hình trỏ không cho phép truy cập trực tiếp vào nhớ; nhớ khơng thể ghi đè • An tồn • Java authentication dựa vào phương pháp mã hóa khóa cơng khai • Mơ hình trỏ Java bảo vệ liệu riêng tư đối tượng ngăn ứng dụng chưa authorized không phép truy cập cấu trúc liệu 37 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.4 Tính Java (4) • Kiến trúc trung lập, di động • Hỗ trợ nhiều platform, "Write Once, Run Anywhere" • Network capable • Hỗ trợ phát triển ứng dụng mơi trường mạng • Java hỗ trợ phát triển ứng dụng phân tán • Lý tưởng cho ứng dụng Web • Thực thi với hiệu suất cao 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.4 Tính Java (5) • Thơng dịch • Chương trình nguồn *.java biên dịch thành *.class sau thơng dịch thành mã máy • Đa luồng (Multi-threaded) • Cho phép chương trình bạn chạy nhiều tác vụ thời điểm • Khả chuyển (Portable) • Các chương trình viết biên dịch lần, chạy tảng khác • Nhờ mơ hình biên dịch/thơng dịch (WORE – Write Once, Run Everywhere) 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.5 Các ứng dụng Java ƯD thẻ thông minh, thẻ SIM ƯD Clound ƯD quy mô doanh nghiệp ƯD thiết bị nhúng ƯD thiết bị nhúng giới hạn tài nguyên ƯD Windows sử dụng thiết bị nhúng Phiên chuẩn, dành cho ứng dụng Phiên chuẩn, dành cho ứng dụng nhúng ƯD TV thông minh 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4/ Cài đặt môi trường LT 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.1 Các bước cài đặt Java • Bước 1: Cài đặt JDK • Bước 2: Cài đặt biến mơi trường (nếu dùng cmd) • Bước 3: Cài trình soạn thảo IDE (Integrated Development Environment ) • TextPad/JCreator/NetBean/Eclipse… • Bước 4: Lập trình/Viết mã nguồn (HelloWorld.java) • Bước 5: Dịch • Gõ lệnh: javac HelloWorld.java • Bước 6: Chạy chương trình • Gõ lệnh: java HelloWorld.class 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.1 Các bước cài đặt Java (2) • Trong Windows • JAVA_HOME = C:\Program Files\Java\jdk1.6 • PATH = …;% JAVA_HOME%\bin; • CLASSPATH = C:\Program Files\Java\jdk1.6\lib;.; C:\Program Files\Java\jdk1.6\include • Trong Linux • JAVA_HOME=/usr/lib/jvm/java-7-sun • PATH=$PATH:$JAVA_HOME/bin 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 Chương trình ví dụ // HelloWorld.java // Chuong trinh hien thi dong chu “Hello World” public class HelloWorld { public static void main(String args[]){ System.out.println( “Hello World!" ); } } 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 Chương trình ví dụ (2) import javax.swing.JOptionPane; public class FirstDialog{ public static void main(String[] args){ JOptionPane.showMessageDialog(null, ”Xin chao ban!”); System.exit(0); } } 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 Chương trình ví dụ (3) import javax.swing.JOptionPane; public class HelloNameDialog{ public static void main(String[] args){ String result; result = JOptionPane.showInputDialog(“Hay nhap ten ban:”); JOptionPane.showMessageDialog(null, ”Xin chao “+ result + “!”); System.exit(0); } } 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập Bài Cài đặt Java Bài Cài đặt trình IDE Bài Chạy lại ví dụ phần 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... HĐT: Tất đối tượng Chương trình phần mềm coi tập hợp đối tượng tương tác với Mỗi đối tượng chương trình có liệu độc lập chiếm nhớ riêng Mỗi đối tượng có dạng đặc trưng lớp đối tượng Tất đối tượng. .. thứ đối tượng" -Alan Kay 1. 3 Lập trình hướng đối tượng • Thể thành phần toán ? ?đối tượng? ?? (object) • Hướng đối tượng kỹ thuật để mơ hình hóa hệ thống thành nhiều đối tượng tương tác với Reality... tiêu học • Tìm hiểu tổng quan Cơng nghệ lập trình hướng đối tượng • Khái niệm, Ưu điểm, vai trò, ứng dụng, Sự phát triển ngơn ngữ lập trình • Tìm hiểu Đối tượng lớp • Đối tượng, trạng thái, hành