Bài giảng Lập trình hướng đối tượng: Chương 1 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
lượt xem 4
download
Bài giảng Lập trình hướng đối tượng: Chương 1 cung cấp cho người đọc những kiến thức như: Một số Mô thức lập trình; Khái niệm Lớp và Đối tượng; Ba nguyên tắc lập trình hướng đối tượng; Một số phần mềm được viết theo hướng đối tượng. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 1 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
- CHƯƠNG 1: Click to edit Master subtitle style GIỚI THIỆU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1
- NỘI DUNG Một số Mô thức lập trình Khái niệm Lớp và Đối tượng Ba nguyên tắc lập trình hướng đối tượng Một số phần mềm được viết theo hướng đối tượng 2
- Tại sao OOP? Object oriented programming (OOP) là mô thức quan trọng Tất cả ngôn ngữ hiện đại điều object oriented hay hỗ trợ object và class Các framework, library, API hiện đại điều object oriented • .NET Framework Class Library (C#), Java API classes (Java), • Laravel (PHP), Rails (Ruby), • STL (C++), Django (Python), Android, … Bất kỳ ai bắt đầu công việc phát triển phần mềm nên làm quen với OOP và OO modeling 3
- MỘT SỐ MÔ THỨC LẬP TRÌNH 4
- Mô thức lập trình Programming paradigm: Mô thức/Mô hình lập trình Cách chúng ta “nhìn” về việc xây dựng các chương trình máy tính Một số programming paradigm: Imperative Structured Procedural Object oriented Functional Declarative … 5
- Imperative programming Mô thức “Lập trình Tuần tự” với ý tưởng chủ đạo là lệnh (commands) Input data Process Output data Chương trình là chuỗi các lệnh (cụ thể/rõ ràng (explicit)) có thứ tự (step by step) dùng để thay đổi trạng thái chương trình 6
- Ví dụ DATA SEGMENT A DB 1,2,3,4,5,6,7,8,9,10 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV CL,10 LEA BX,A MOV AH,00 MOV AL,00 L1: ADD AL,BYTE PTR[BX] INC BX DEC CL CMP CL,00 JNZ L1 MOV AH,4CH INT 21 END START CODE ENDS 7
- Imperative programming Đặc điểm: Các biến toàn cục Mỗi bước ảnh hưởng đến trạng thái toàn cục của chương trình Có lệnh goto để nhảy đến lệnh khác Có những đoạn mã được viết nhiều lần Ngôn ngữ: Assembly, Pascal, C, … 8
- Structured programming Mô thức “Lập trình Cấu trúc” là dạng Imperative programming, nhưng Chương trình có tổ chức, cấu trúc logic hơn: result = []; for i = 0; i < length(people); i++ { p = people[i]; if length(p.name)) > 5 { addToList(result, toUpper(p.name)); } } return sort(result); 9
- Structured programming Đặc điểm: Lệnh tuần tự (Sequence), Lệnh lặp (Loop), Lệnh điều kiện (Condition) Phong cách lập trình Thục đầu dòng (indentation) Loại bỏ/hạn chế lệnh goto Ngôn ngữ: Pascal, C, … Khuyết điểm: Khó phân công cho nhiều người cùng viết Dữ liệu được “thả tự do” Có những đoạn mã viết nhiều lần 10
- Procedural programming Mô thức “Lập trình Thủ tục” kế thừa structured programming và đưa thêm ý tưởng chương trình con (procedure/function) chứa các đoạn mã thường sử dụng Chương trình máy tính có thể chia thành các chương trình con (procedure) và các chương trình con gọi nhau để giải quyết bài toán 11
- Ví dụ public static int Factorial(int n) { int result = 1; for (int i = 2; i
- Procedural programming Đặc điểm Tập trung vào “action” của chương trình, không phải data Phương pháp top-down, làm mịn dần: Chia chương trình lớn thành các chương trình con, … Biến toàn cục (global variable) và Biến cục bộ (local variable) Ngôn ngữ: Pascal, C, … Khuyết điểm: Mối quan hệ giữa dữ liệu và hàm không được quan tâm, quản lý 13
- Object oriented programming Mô thức “Lập trình Hướng đối tượng” cải biên procedure programming bằng cách đưa vào ý tưởng object (đối tượng) Chương trình máy tính gồm các objects, các objects giao tiếp với nhau để giải quyết bài toán đặt ra Đối tượng = Dữ liệu + Hàm thao tác trên Dữ liệu 14
- Ví dụ class Student { string code; string name; int yearOfBirth; public Student(string studentCode, string studentName, int year) { code = studentCode; name = studentName; yearOfBirth = year; } public int GetYearOld() { return DateTime.Now.Year - yearOfBirth; } } 15
- Ví dụ class InformaticsClass { Student[] students; string className; class Program { public void Input() static void Main(string[] args) { { } InformaticsClass a = new InformaticsClass(); public int NumStudents() a.Input(); { Console.WriteLine("No. " + a.NumStudents()); if (students == null) } return 0; } return students.Length; } } 16
- Object oriented programming Đặc điểm: Tập trung xung quanh khái niệm object (tập trung vào dữ liệu và những gì làm với dữ liệu đó) • Tập trung cả Dữ liệu và Hàm • Tổ chức code theo cách (mô phỏng) hoạt động của thế giới thực • Mô hình hóa các đối tượng trong thế giới thực vào máy tính Hỗ trợ Các nguyên tắc: • Đóng gói (encapsulation) • Thừa kế (inheritance) • Đa hình (polymorphism), … 17
- Object oriented programming Ưu điểm: Quản lý mối quan hệ giữa Dữ liệu và Hàm (trong object) Tổ chức code hiệu quả theo cách thức tổ chức trong tự nhiên Giúp mô hình hóa các đối tượng trong thế giới thực trên máy tính Ngôn ngữ: C++, Java, C#, … 18
- KHÁI NIỆM LỚP VÀ ĐỐI TƯỢNG 19
- Đối tượng (object) Trong thế giới thực có nhiều đối tượng: 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 140 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 87 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 100 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 104 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 15 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn