1. Trang chủ
  2. » Cao đẳng - Đại học

Chương 1 Tổng quan về hướng đối tượng trong c

46 1,2K 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 1,84 MB

Nội dung

Tổng quan về lập trình hướng đối tượng Vấn đề: Phần mềm ngày càng lớn  Một số hệ Unix chứa khoảng 4M dòng lệnh  Windows chứa hàng chục triệu dòng lệnh  Người dùng ngày càng đòi hỏi n

Trang 1

Chương 1 TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ C#

Lê Quý Tài quytai3985@gmail.com

Trang 3

1 Tổng quan về lập trình hướng đối tượng

 Vấn đề: Phần mềm ngày càng lớn

 Một số hệ Unix chứa khoảng 4M dòng lệnh

 Windows chứa hàng chục triệu dòng lệnh

 Người dùng ngày càng đòi hỏi nhiều chức năng,

đặc biệt là các chức năng thông minh

 Phần mềm luôn cần được sửa đổi

 Giải pháp: Sử dụng lại mã nguồn

 Giảm chi phí và thời gian phát triển

 Nâng cao chất lượng

 Yêu cầu khi sử dụng lại mã nguồn

 Dễ hiểu, chính xác, rõ ràng

 Không cần thay đổi khi sử dụng trong chương

trình mới

Trang 5

Lập trình không có cấu trúc (non-structured programming)

 Là phương pháp xuất hiện đầu tiên

 các ngôn ngữ như Assembly, Basic

Trang 6

 Các CT con có thể được gọi đến để thực hiện

theo một thứ tự bất kỳ, tùy thuộc vào giải thuật trong CT chính mà không phụ thuộc vào thứ tự khai báo của các CT con

Trang 7

Lập trình cấu trúc/lập trình thủ tục

 Không hỗ trợ sử dụng lại mã nguồn vì giải thuật

luôn phụ thuộc chặt chẽ vào CTDL, do đó khi thay đổi CTDL phải thay đổi giải thuật và viết lại CT

 Không phù hợp với các phần mềm lớn: tư duy cấu

trúc với các giải thuật chỉ phù hợp với các bài toán nhỏ, nằm trong phạm vi modul của CT

Trang 8

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

Object-oriented programming

 Có 2 đặc trưng cơ bản:

 Đóng gói dữ liệu: dữ liệu luôn được tổ chức thành

các thuộc tính của lớp đối tượng Việc truy nhập đến dữ liệu phải thông qua các phương thức của lớp đối tượng

 Sử dụng lại mã nguồn: thể hiện qua cơ chế kế

thừa Cơ chế này cho phép các lớp đối tượng có thể kế thừa từ các lớp đối tượng khác và có thể

sử dụng lại các phương thức (mã nguồn) của các lớp bị kế thừa mà không cần định nghĩa lại

Trang 9

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

 Dữ liệu không bị thay đổi tự do trong CT vì dữ liệu

đã được đóng gói vào các đối tượng Muốn truy nhập vào dữ liệu phải thông qua phương thức cho phép của đối tượng

 Khi thay đổi CTDL của một đối tượng, chỉ cần

thay đổi một số hàm thành phần của đối tượng này mà không cần thay đổi các mã nguồn của các đối tượng khác

 Có thể sử dụng lại mã nguồn,tiết kiệm tài nguyên

 Phù hợp với các dự án phần mềm lớn,phức tạp

Trang 10

Hướng cấu trúc vs Hướng đối tượng

 Data structures + algorithms = Program

 Object + message = Program

Trang 11

Các khái niệm cơ bản của LTHĐT

 Đối tượng (Object)

 Lớp (Class)

 Trừu tượng hóa (abstraction)

 Đóng gói/Che giấu thông tin (encapsulation)

 Truyền thông điệp (message)

 Kế thừa (inheritance)

 Đa hình (polymorphism)

Trang 12

Đối tượng (Object)

 Đối tượng” là gì?

 là một người, địa điểm, sự kiện, sự vật …

 Ví dụ: Đối tượng trong thế giới thực: Khách

hàng sử dụng thẻ ATM

 Thông tin cá nhân: tên, tuổi, số tài khoản, lượng

tiền đang có trong tài khoản…

 Hoạt động: Đăng ký làm thẻ, huỷ thẻ, rút tiền, nạp

tiền…

Trang 13

Đối tượng trong thế giới thực

Một đối tượng trong thế giới thực là một

Sủa Vẩy tai Chạy ăn

Bàn đạp Dây xích

Tăng tốc Giảm tốc Chuyển bánh răng

Đối tượng có:

trạng thái (state)

và hành động

(behavior)

Trang 14

Đối tượng phần mềm

Các đối tượng phần mềm có thể được dùng để biểu

diễn các đối tượng trong thế giới thực

 Cũng có trạng thái và hành động

 Trạng thái: thuộc tính (attribute, property)

 Hành động: Phương thức (method)

 Đối tượng (object) là một thực thể phần mềm bao

bọc thuộc tính và các phương thức liên quan

 Có trạng thái và hành động

 Trạng thái: Thuộc tính (attribute, property)

 Hành động: Phương thức (method)

 Thuộc tính được xác định bởi

các giá trị gọi là thuộc tính thể hiện

 Các đối tượng giao tiếp

với nhau bằng các thông điệp

Thuộc tính

Phương thức

Trang 15

Lớp (class)

 Trong thế giới có nhiều đối tượng cùng loại

 Ví dụ: Tên, Tuổi, Trường, Khoa, đăng kí học, Bạn nghĩ tới ?

Một lớp là một thiết kế (blueprint) hay mẫu (prototype)

cho các đối tượng cùng kiểu

 Lớp định nghĩa tất cả các thuộc tính và phương thức

chung cho tất cả các đôi tượng thuộc cùng một loại

Lớp và đối tượng? Có mối quan hệ tương ứng lẫn nhau nhưng bản

chất lại khác nhau:

 Lớp là sự trừu tượng hóa của các đối tượng, đối tượng lại là một

thể hiện của lớp.

 Đối tượng là một thực thể cụ thể,có thực Lớp là một khái niệm

trừu tượng, chỉ tồn tại ở dạng khái niệm để mô tả các đặc tính chung của một số đối tượng.

 Tất cả các đối tượng thuộc cùng 1 lớp có cùng các thuộc tính và

phương thức.

Trang 16

Trừu tượng hoá (Abstraction)

tạp

 Tập trung vào các thuộc tính cần thiết

 Tóm lược nội dung chính của vấn đề

 Tìm ra những điểm chung giữa các đối tượng

Tam giác

Cạnh 1, canh 2, cạnh 3 Màu nền, màu biên

Độ đậm biên

Vẽ, tính diện tích, tính chu vi

Trừu tượng hóa

Trang 17

Đóng gói ( Encapsulation)

 Đóng gói dữ liệu là các thao tác tác động lên

dữ liệu thành một thể thống nhất (lớp đối tượng) thuận tiện cho sử dụng lại

 Che giấu thông tin

 thao tác với dữ liệu thông qua các giao diện xác

định

 Người dùng không phụ thuộc vào việc sửa đổi,

thực thi bên trong

 Tăng cường tính mềm dẻo

Trang 19

Truyền thông điệp (message)

 Các đối tượng gửi và nhận thông tin với nhau

giống như con người trao đổi với nhau.

 Truyền thông điệp cho một đối tượng là yêu

cầu đối tượng thực hiện một việc gì đó

CONGNHAN.TINHLUONG (Hoten)

Đối tượng Thông điệp Thông tin

Trang 20

Kế thừa (inheritance)

 Một lớp này được quyền sử dụng một số tính

chất (cả dữ liệu và các hàm thành phần) của các lớp khác

Nguyên lý chung của kế thừa: Chỉ những

thuộc tính, hàm thành phần được bảo vệ và

thuộc tính, hàm thành phần riêng là không được phép kế thừa

Trang 21

Đa hình (polymorphism)

 Là khả năng gửi một thông điệp chung đến

nhiều đối tượng mà mỗi đối tượng lại có cách

xử lý riêng theo ngữ cảnh của mình.

Trang 22

2 Giới thiệu về ngôn ngữ C#

 Microsoft NET

Trang 23

Microsoft NET

 Cung cấp giao diện lập trình (API) cho các

dịch vụ (services) và các hàm API truyền thống của hệ điều hành Windows

 Cung cấp một nền tảng phát triển chung cho

nhiều ngôn ngữ khác nhau của Microsoft: C#, Visual J#, Visual Basic…

Framework và Integrated Development Environment (IDE)

Trang 24

Common Language Runtime - CLR

Framework Class Library - FLC

Framework Class Library - FLC

.NET Framework

.NET Framework

Trang 25

.NET Framework

 NET Framework được dùng để phát triển

những kiểu ứng dụng và dịch vụ:

 Ứng dụng console

 Ứng dụng giao diện đồ hoạ người dùng - GUI trên

Windows (Windows Forms)

 Dịch vụ XML Web

Trang 26

.NET Framework

Trang 27

Biên dịch

 NET không biên dịch trực tiếp các chương

trình thành file thực thi

 NET biên dịch các chương trình thành các

assembly, chứa các mã chương trình trung gian của Microsoft (Microsoft Intermediate Language – MSIL)

 CLR sẽ dịch một lần nữa, sử dụng chương

trình biên dịch Just In Time (JIT) chuyển các

mã MSIL sang mã máy và thực thi

Trang 28

Biên dịch

Trang 29

Visual Studio 2010

 Được thiết kế dựa trên NET Framwork 4.0

 Cho phép triển khai

 Ứng dụng trên nhiều ngôn ngữ Visual Basic,

Visual C++, Visual C#, Visual J#

 Ứng dụng Web và Web Services

 Ứng dụng di động

 Tất cả các ngôn ngữ đều dùng chung một môi

trường phát triển tích hợp – IDE

 Lập trình ASP.NET: truy cập CSDL hiệu quả, viết

ứng dụng dễ dàng hơn

Trang 30

Ví dụ: Chương trình HelloWorld

 Mở Visual Studio 2010

 Start  All Programs  Microsoft Visual Studio 2010 

Microsoft Visual Studio 2010

 Chọn New Project hoặc File  New  Project (Ctrl +

Shift + N)

 Chọn ngôn ngữ, chọn chọn kiểu chương trình

(Console hoặc Windows Forms)

 Đặt tên cho đồ án ở mục Name

 Chọn thư mục lưu đồ án ở mục Location

Trang 31

Ví dụ: Viết chương trình HelloWorld

Trang 32

đơn giản hiển thị

thông báo Hello

Trang 33

Ngôn ngữ C#

 C# được phát triển bởi nhóm tác giả điều hành

bởi Anders Hejlsberg

 C# được dẫn xuất từ C và C++ nhưng nó được

tạo từ nền tảng tốt hơn

 C# là ngôn ngữ hướng đối tượng (Object

Oriented Language)

 Hỗ trợ định nghĩa và làm việc với lớp (class)

 Hỗ trợ đầy đủ các đặc trưng của lập trình hướng

đối tượng: đóng gói (encapsulation), kế thừa (inheritance) và đa hình (polymorphism)

 C# cung cấp những đặc tính hướng thành

phần (component oriented): thuộc tính, sự kiện

Trang 34

Ngôn ngữ C#

 C# là ngôn ngữ đơn giản

 C# là ngôn ngữ hiện đại

 C# là ngôn ngữ hướng đối tượng

 C# là ngôn ngữ có ít từ khoá

 C# sẽ trở nên phổ biến

Trang 35

Ngôn ngữ C#

lệnh không hỗ trợ giao diện cho người sử dụng

kế để chạy trên màn hình nền có hỗ trợ giao diện cho người sử dụng

Trang 36

Tạo mới một Window Application

 File  New Project  Windows Forms

Application

Trang 37

Tạo mới một Console Application

 File  New Project  Console Application

Trang 38

Các thành phần cơ bản trong Visual Studio

Trang 39

 Title bar: Chứa tên dự án

 Menu bar: Chứa các thực đơn File, Edit,

View, Project, Build, Debug…)

 Tools bar: Có 39 thanh công cụ

 Thanh Standard

 Ẩn/hiện: Nháy phải chuột lên thanh công cụ, chọn/

bỏ chọn tên thanh công cụ

Các thành phần cơ bản trong Visual Studio

Trang 40

Các thành phần cơ bản trong Visual Studio

 Toolbox: chứa các điều khiển khi thiết kế giao

diện người dùng

 Ẩn/hiện: View  Toolbox

Trang 41

Các thành phần cơ bản trong Visual Studio

 Cho phép thiết kế

giao diện người dùng, sử dụng các điều khiển trong Toolbox

 Solution Explorer

 View  Solution Explorer

 View Code: Xem mã

nguồn

 View Designer: Xem

thiết kế giao diện

Trang 42

Các thành phần cơ bản trong Visual Studio

Trang 43

Một số thao tác cơ bản

 Mở chương trình

 File  Open  Project/Solution…

 Lưu chương trình

 File - Save All

 Khi tạo đồ án, Visual Studio sinh ra các tập tin:

gồm một hoặc nhiều tập tin dự án

nguồn (các tập tin trong cùng dự án có cùng ngôn ngữ)

Trang 44

Một số thao tác cơ bản

 Biên dịch

 Dịch Solution: Build  Build Solution (F6)

 Dịch dự án: Build  Build tên dự án (Shift + F6)

 Chạy chương trình

 Chạy chương trình kèm sửa lỗi:

Debug  Start Debugging (F5 hoặc nhấn )

 Chạy chương trình không kèm sửa lỗi:

Debug  Start Without Debugging (Ctrl + F5)

 Debug  Stop Debugging (Ctrl + Alt + Break )

Trang 45

Bài tập về nhà

1 Cài đặt Visual Studio 2010 (bản Ultimate) và Crytal Reports 10 for Visual Studio 2010

2 Viết lại bài tập trên lớp

3 Viết các chương trình sau: (bằng ngôn ngữ C) a) Nhập vào một dãy số nguyên, sắp xếp dãy số theo chiều tăng dần và in kết quả ra màn hình (Viết hàm: Nhập dãy số, In dãy, sắp xếp)

b) Nhập vào 2 phân số, in ra màn hình tổng, hiệu, tích, thương của 2 phân số đó (viết hàm nhập, in phân số, tính tổng, hiệu, tích, thương)

Trang 46

Bài tập về nhà

c) Viết chương trình quản lý sinh viên Mỗi SV gồm các thông tin: Mã SV, Họ tên, Ngày sinh, Quê quán, Điểm Toán, Lý, Hoá, Điểm trung bình

 Nhập danh sách N sinh viên

 In ra màn hình danh sách SV

 Tìm kiếm sinh viên theo Mã SV

 Đưa ra danh sách SV có điểm TB>7.0

(Viết các hàm: Nhập, In danh sách)

Ngày đăng: 26/05/2016, 10:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w