Danh mục

Giáo trình Lập trình nâng cao - Trần Uyên Trang

Số trang: 154      Loại file: pdf      Dung lượng: 806.05 KB      Lượt xem: 19      Lượt tải: 0    
10.10.2023

Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Việc lập trình cho các máy tính đầu tiên phải viết theo ngôn ngữ máy trong hệ nhị phân nên mất nhiều thời gian khi chạy và thử nghiệm chương trình để gỡ rối.Các tiện ghi cần thiết cho việc sủ dụng lại chương trình gốc ban đầu hầu như không có trong các ngôn ngữ lập trình tuyến tính ban đầu. khi cần làm công việc này người ta phải sao chép các chương trình gốc, dẫn đến chương trình dài ra......
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình nâng cao - Trần Uyên Trang Giáo trình Lập trình nâng cao LËp tr×nh chuyªn n©ng cao TrÇn Uyªn Trang Chương1 : GI I THI U L P TRÌNH HƯ NG I TƯ NG I. L CH S PHÁT TRI N C A L P TRÌNH : 1. L p trình tuy n tính : Vi c l p trình cho các máy tính u tiên ph i vi t theo ngôn ng máy trong h nh phân nên m t nhi u th i gian khi ch y và th nghi m chương trình g r i. Kh năng s d ng l i các o n chương trình: không có Khi các kh năng c a máy tính (MT) tăng: L p trình phát tri n t ơn gi n n ph c t p hơn. Các ti n nghi c n thi t cho vi c s d ng l i chương trình g c ban u h u như không có trong các ngôn ng l p trình tuy n tính (LTTT) ban u. Khi c n làm công vi c này ngư i ta ph i sao chép l i các chương trình g c, d n n chương trình dài ra. Nên vi c b o dư ng, s a ch a khó, r t m t th i gian D li u: Toàn c c, không có tính che d u d li u nên r t khó ki m soát 2. L p trình có c u trúc : Phân m nh v n l n thành các v n con c l p. T nh ng v n con này xây d ng thành th t c và hàm D li u truy n gi a các th t c thông qua i s , ngoài ra nó có các d li u riêng mà các th t c bên ngoài ph m vi c a nó không th thâm nh p ti ưc 3. S tr u tư ng hoá ch c năng : Trong m t chương trình (CT) có c u trúc ch c n bi t th t c hay hàm ã cho làm ư c công vi c c th gì là , còn làm th nào mà công vi c ó l i th c hi n ư c thì không quan tr ng. M t khi th t c còn ư c tin c y thì nó có th dùng mà không c n bi t là nó ã ph i làm gì hoàn thành úng ch c năng. i u này ư c g i là s tr u tư ng hoá ch c năng (functional abstraction), ây là n n t ng c a l p trình có c u trúc 4. L p trình hư ng i tư ng (Object Oriented Programming): L p trình hư ng i tư ng (LTH T) là xây d ng trên n n t ng c a l p trình có c u trúc v i s tr u tư ng hoá d li u. S tr u tư ng d li u (data abstraction) tác ng trên các d li u cũng tương t như s tr u tư ng hoá ch c năng ã làm trên ch c năng. Khi s tr u tư ng hoá d li u x y ra, các c u trúc d li u và các ph n t có th ư c s d ng mà không c n ý t i các chi ti t c th mà ngư i ta xây d ng. S thay i căn b n là ch : 1 chương trình hư ng i tư ng (H T) ư c thi t k xoay quanh d li u mà ta làm vi c trên nó hơn là b n thân ch c năng chương trình. LËp tr×nh chuyªn n©ng cao TrÇn Uyªn Trang LTH T s liên k t c u trúc d li u (CTDL) v i các thao tác theo cách mà chúng ta thư ng nghĩ v th gi i xung quanh ó là: g n 1 hành ng c th v i 1 lo i i tư ng nào ó. VD : Ô tô thì có bánh xe, di chuy n ư c và hư ng chúng thay i b ng cách quay tay lái. Tương t ta bi t cây là 1 lo i th c v t thân g và có lá Ô tô không ph i là cây, cây không ph i là ô tô, v y ta có th k t lu n r ng i u th c hiên ư c v i ô tô thì không th th c hi n ư c v i cây. Th t hoang tư ng khi i lái cây ho c tư i nư c cho ô tô nó l n lên LTH T cho phép s d ng các quá trình suy nghĩ v th gi i quan vào d li u VD : c ra, thay i và lưu tr ; còn m t s M t m u tin thì có th ph c thì có th dùng trong các phép toán. Tuy v y không th vi t m t s ph c vào t p tin làm m t m u tin nhân s ư c, và ngư c l i không th c ng hai m u tin nhân s l i v i nhau. M t chương trình LTH T s xác nh c i m và hành vi c th c a các ki u d li u. i u ó cho phép chúng ta xác nh 1 cách chính xác chúng ta có th có ư c nh ng gì các ki u d li u khác nhau. Chúng ta cũng luôn luôn liên h các khái ni m m i v i các khái ni m ã t n t i và l i có kh năng suy lu n d a trên s liên h gi a các s v t . LTH T cũng làm vi c theo cách tương t , cho phép ta xây d ng CTDL m i d a trên nh ng CTDL ang có mang theo nh ng tính năng c a c u trúc n n mà chúng d a trên ó, trong khi v n thêm vào nh ng tính năng m i – tính th a k (inheritance) C A L P TRÌNH HƯ NG II. NH NG THU T NG I TƯ NG : 1. L p (class), i tư ng (object), phương th c (method) : LTH T cho phép t ch c d li u theo 1 cách tương t như các nhà sinh h c t ch c các loài th c v t khác nhau. Theo cách nói c a LTH T thì m i 1 loài th c v t ó s ư c g i là 1 l p-class M t l p là 1 b ng m u mô t các thông tin CTDL l n các công vi c c th c a các ph n t d li u Mô t Ch ra nó làm ư c cái gì ? – Hành vi trên nó M t ph n t mà ư c khai báo thu c 1 l p g i là 1 i tư ng-Object Các hàm ư c nh nghĩa h p l trên 1 l p g i là phương th c-Method và chúng là các hàm duy nh t có th x lý d li u c a các i tư ng c a l p ó Các CTDL dùng mô t 1 l p thì g i là các thu c tính-Properties VD: class complex { LËp tr×nh chuyªn n©ng cao TrÇn Uyªn Trang int real, imag // properties; void cong (complex c); // 1 void tru (complex c); // 2 void nhan (complex c); // 3 void chia (complex c); // 4 }; // 1,2,3,4: method complex a,b; // a,b: object i tư ng thì có riêng 1 b n sao các ph n t d li u c a l p M im t a:real imag b:real imag Các phương th c nh nghĩa trong 1 l p thì có th g i b i b t kỳ 1 i tư ng nào. i u này g i là g i thông i p cho i tư ng. Các thông i p thì ch ph thu c vào i tư ng nh n, nghĩa là i tư ng nào nh n thông i ...

Tài liệu được xem nhiều: