Bài giảng Lập trình ngôn ngữ C# - Chương 1: Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#

Chương 1: Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#

Nội dung

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

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

 

pptx46 trang | Chia sẻ: phuongt97 | Lượt xem: 374 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Lập trình ngôn ngữ C# - Chương 1: Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1 TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ C#HÀ NỘI – 2015Nội dung13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Tổng quan về lập trình hướng đối tượng1Giới thiệu về ngôn ngữ C#22/461. Tổng quan về lập trình hướng đối tượngVấn đề: Phần mềm ngày càng lớnMột số hệ Unix chứa khoảng 4M dòng lệnhWindows chứa hàng chục triệu dòng lệnhNgườ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 minhPhần mềm luôn cần được sửa đổiGiải pháp: Sử dụng lại mã nguồnGiảm chi phí và thời gian phát triểnNâng cao chất lượngYêu cầu khi sử dụng lại mã nguồnDễ hiểu, chính xác, rõ ràngKhông cần thay đổi khi sử dụng trong chương trình mới13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#3/46Các phương pháp lập trìnhLập trình không có cấu trúcLập trình cấu trúc (lập trình thủ tục)Lập trình hướng đối tượngLập trình hướng sự kiệnLập trình hướng thành phần13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#4/46Lập trình không có cấu trúc (non-structured programming)Là phương pháp xuất hiện đầu tiêncác ngôn ngữ như Assembly, Basicsử dụng các biến tổng thểlạm dụng lệnh GOTONhược điểmkhó hiểu, khó bảo trì, hầu như không thể sử dụng lạichất lượng kémchi phí caokhông thể phát triển các ứng dụng lớn13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#5/46Lập trình cấu trúc/lập trình thủ tục (structured/procedural programming)Đặc điểmXây dưng chương trình dựa trên các hàm/thủ tục/chương trình conDữ liệu và xử lý (hàm) tách rời nhauCác hàm không bắt buộc phải tuân theo một cách thức chung truy cập vào dữ liệu13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#6/46Lập trình cấu trúc/lập trình thủ tụcNhược điểmCác hàm trong chương trình muốn trao đổi dữ liệu phải sử dụng biến toàn cục (global)  Thay đổi của của những biến toàn cục sẽ ảnh hưởng tới tất cả những thành phần liên quanTính mở của hệ thống kémTách biệt dữ liệu khỏi chức năng xử lýKHÔNG hỗ trợ việc sử dụng lại và kế thừa13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#7/46Lập trình hướng đối tượng Object-oriented programmingĐặc điểmLấy đối tượng làm nền tảng xây dựng thuật toán, xây dựng chương trìnhLiên kết cấu trúc dữ liệu và thao tácKết hợp những tri thức bao quát về các quá trình thực tế với những khái niệm trừu tượng sử dụng trong máy tínhHệ thống được xem là tập các lớp đối tượngCác đối tượng trao đổi với nhau thông qua việc gửi và nhận các thông điệp (message)13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#8/46Lập trình hướng đối tượngĐặc điểmCó tính mở caoCó cơ chế đóng gói, che giấu dữ liệu  an toànHỗ trợ sử dụng lại  Kế thừa13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#9/46Hướng cấu trúc vs Hướng đối tượngHướng cấu trúcData structures + algorithms = ProgramHướng đối tượngObject + message = Program13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#10/46Cá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)13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#11/46Đố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ẻ ATMThông tin cá nhân: tên, tuổi, số tài khoản, lượng tiền đang có trong tài khoảnHoạt động: Đăng ký làm thẻ, huỷ thẻ, rút tiền, nạp tiền13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#12/46Đối tượng trong thế giới thựcMột đối tượng trong thế giới thực là một thực thể cụ thể mà thông thường chúng ta có thể sờ, nhìn thấy hay cảm nhận được13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Trạng tháiHành độngCon chóTênMàuGiốngSủaVẩy taiChạyănXe đạpBánh xeBàn đạpDây xíchTăng tốcGiảm tốcChuyển bánh răngĐối tượng có: trạng thái (state) và hành động (behavior)13/46Đối tượng phần mềmCá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ựcCũng có trạng thái và hành độngTrạ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 quanCó trạng thái và hành độngTrạ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ệp13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Thuộc tínhPhương thức14/46Lớp (class)Trong thế giới có nhiều đối tượng cùng loạiVí 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ểuLớ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.Thể hiện/Thực thể (Instance) là một đối tượng của lớpVí dụ: mỗi một đối tượng sinh viên là một thể hiện của lớp sinh viênMỗi thể hiện có thể có những thuộc tính thể hiện khác nhau.Ví dụ ?13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#15/46Trừu tượng hoá (Abstraction)Sử dụng để quản lý các đối tượng phức tạpTập trung vào các thuộc tính cần thiếtTó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ượng13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Tam giácCạnh 1, canh 2, cạnh 3Màu nền, màu biênĐộ đậm biênVẽ, tính diện tích, tính chu viTrừu tượng hóaCác đối tượngLớp16/46Đó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ạiChe giấu thông tinthao tác với dữ liệu thông qua các giao diện xác địnhNgườ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ẻo13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#17/46Đóng góiChương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Public methods of Order Implementation Outside ViewCreateOrderUpdateOrderGetOrderTotalNextOrderint orderNumint custNumCalculatePrice( )PUBLIC:CreateOrder( )UpdateOrder( )GetOrderTotal( )Next( )13/08/202118/46Truyề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ì đó Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#CONGNHAN.TINHLUONG (Hoten)Đối tượng Thông điệp Thông tin13/08/202119/46Kế 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à công khai là được quyền kế thừa, còn những thuộc tính, hàm thành phần riêng là không được phép kế thừa. C# chỉ hỗ trợ đơn kế thừaChương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#13/08/202120/46Đ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.Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#13/08/202121/462. Giới thiệu về ngôn ngữ C#Microsoft .NETNgôn ngữ C#13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#22/46Microsoft .NETCung 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 WindowsCung 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 BasicMicrosoft .NET gồm 2 phần chính: Framework và Integrated Development Environment (IDE)13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#23/46.NET framework.NET Framework có 2 thành phần chính:Bộ thực thi ngôn ngữ chung (Common Language Runtime – CLR)Thư viện lớp (Framework Class Library)13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Common Language Runtime - CLRFramework Class Library - FLC.NET Framework24/46.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)Ứng dụng ASP.NETDịch vụ XML Web13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#25/46.NET Framework13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#26/46Biê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 thi13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#27/46Biên dịch13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#28/46Visual Studio 2010Được thiết kế dựa trên .NET Framwork 4.0Cho 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Ưu điểm:Tất cả các ngôn ngữ đều dùng chhung một môi trường phát triển tích hợp – IDELập trình ASP.NET: truy cập CSDL hiệu quả, viết ứng dụng dễ dàng hơn13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#29/46Ví dụ: Chương trình HelloWorldMở Visual Studio 2010Start  All Programs  Microsoft Visual Studio 2010  Microsoft Visual Studio 2010Chọ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 NameChọn thư mục lưu đồ án ở mục LocationNhấn OK13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#30/46Ví dụ: Viết chương trình HelloWorld13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#31/46Chương trình HelloWorld13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Chương trình tự động tạo một khung dự ánThêm mã lệnh đơn giản hiển thị thông báo Hello World ra màn hìnhNhấn F6 để dịchF5 để chạy chương trình32/46Ngôn ngữ C#C# được phát triển bởi nhóm tác giả điều hành bởi Anders HejlsbergC# được dẫn xuất từ C và C++ nhưng nó được tạo từ nền tảng tốt hơnC# 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ện13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#33/46Ngôn ngữ C#C# là ngôn ngữ đơn giảnC# là ngôn ngữ hiện đạiC# là ngôn ngữ hướng đối tượngC# là ngôn ngữ mạnh mẽ và mềm dẻoC# là ngôn ngữ có ít từ khoáC# là ngôn ngữ hướng moduleC# sẽ trở nên phổ biến13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#34/46Ngôn ngữ C#2 kiểu ứng dụng chínhConsole applicationConsole application được thiết kế để chạy các dòng lệnh không hỗ trợ giao diện cho người sử dụngWindow application Window application được thiết kế để chạy trên màn hình nền có hỗ trợ giao diện cho người sử dụng 13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#35/46Tạo mới một Window Application File  New Project  Windows Forms Application13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#36/46Tạo mới một Console Application File  New Project  Console Application13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#37/46Các thành phần cơ bản trong Visual Studio13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#38/46Title bar: Chứa tên dự ánMenu 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ụ13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Các thành phần cơ bản trong Visual Studio39/46Các thành phần cơ bản trong Visual StudioToolbox: chứa các điều khiển khi thiết kế giao diện người dùngẨn/hiện: View  Toolbox13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#40/46Các thành phần cơ bản trong Visual StudioForm DesingerCho phép thiết kế giao diện người dùng, sử dụng các điều khiển trong Toolbox13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#Solution ExplorerView  Solution ExplorerView Code: Xem mã nguồnView Designer: Xem thiết kế giao diện41/46Các thành phần cơ bản trong Visual StudioProperties WindowLiệt kê tất cả các thuộc tính, sự kiện của các điều khiển View  Properties Window13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#42/46Một số thao tác cơ bảnMở chương trìnhFile  Open  Project/SolutionLưu chương trìnhFile - Save AllKhi tạo đồ án, Visual Studio sinh ra các tập tin:*.sln (solution): mỗi ứng dụng có 1 tập tin loại này, bao gồm một hoặc nhiều tập tin dự án*.csproj (project): mỗi dự án có một hoặc nhiều tập tin nguồn (các tập tin trong cùng dự án có cùng ngôn ngữ)*.cs (source): chứa mã nguồn chương trìnhAssemblyInfor.cs: chứa các thuộc tính 13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#43/46Một số thao tác cơ bảnBiên dịchDịch Solution: Build  Build Solution (F6)Dịch dự án: Build  Build tên dự án (Shift + F6)Chạy chương trìnhChạ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)Dừng chương trìnhDebug  Stop Debugging (Shift + F5 )13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#44/46Bài tập về nhà1. Cài đặt Visual Studio 2010 (bản Ultimate)2. Viết lại bài tập trên lớp3. 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)13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#45/46Bà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ìnhNhập danh sách N sinh viênIn ra màn hình danh sách SVTì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)13/08/2021Chương 1. Tổng quan về lập trình hướng đối tượng và ngôn ngữ C#46/46

Các file đính kèm theo tài liệu này:

  • pptxbai_giang_co_so_lap_trinh_1_chuong_1_tong_quan_ve_lap_trinh.pptx