TAIJ SAO NOÍ LỚP LÀ KIỂU DỮ LIỆU TRỪU TƯỢNG TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Tìm thấy 10,000 tài liệu liên quan tới từ khóa "TAIJ SAO NOÍ LỚP LÀ KIỂU DỮ LIỆU TRỪU TƯỢNG TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG":

Lớp và đối tượng của lập trình hướng đối tượng

LỚP VÀ ĐỐI TƯỢNG CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

125 Đọc thêm

TÌM HIỀU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG ACTIONSCRIP

TÌM HIỀU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG ACTIONSCRIP

VD : Giai_Phuongtrinh_Bac_haia,b,c; // Hàm giải phương trình bậc hai với các tham số sẽ nhận là các hệ số a,b,c của phương trình 3.2 KHAI BÁO HÀM : Để tạo một hàm, sử dụng chữ function t[r]

31 Đọc thêm

Java cơ bản Chương I: Lập trình hướng đối tượng

JAVA CƠ BẢN CHƯƠNG I: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Lập trình hướng Đối tượng (OOP) là một phương pháp thiết kế và phát triển phần mềm. Những ngôn ngữ OOP không chỉ bao gồm cú pháp và một trình biên dịch (compiler) mà còn có một môi trường phát triển toàn diện. Môi trường này bao gồm một thư viện được thiết kế tốt, thuận lợi cho việc sử dụng các đối tượng.Đối với một ngôn ngữ lập trình hỗ trợ OOP thì việc triển khai kỹ thuật lập trình hướng đối tượng sẽ dễ dàng hơn. Kỹ thuật lập trình hướng đối tượng cải tiến việc phát triển các hệ thống phần mềm. Kỹ thuật ấy đề cao nhân tố chức năng (fucntionality) và các mối quan hệ dữ liệu.OOP là phương thức tư duy mới để giải quyết vấn đề bằng máy tính. Để đạt kết quả, lập trình viên phải nắn vấn đề thành một thực thể quen thuộc với máy tính. Cách tiếp cận hướng đối tượng cung cấp một giải pháp toàn vẹn để giải quyết vấn đề.Hãy xem xét một tình huống cần được triển khai thành một hệ thống trên máy vi tính: việc mua bán xe hơi. Vấn đề vi tính hóa việc mua bán xe hơi bao gồm những gì?Những yếu tố rõ ràng nhất liên quan đến việc mua bán xe hơi là:1)Các kiểu xe hơi (model).2)Nhân viên bán hàng.3)Khách hàng.Những hoạt động liên quan đến việc mua bán:1)Nhân viên bán hàng đưa khách hàng tham quan phòng trưng bày.2)Khách hàng chọn lựa một xe hơi.3)Khách hàng đặt hóa đơn.4)Khách hàng trả tiền.5)Chiếc xe được trao cho khách hàng.Kết thúc chương, học viên có thể:Định nghĩa Lập trình hướng Đối tượng (Objectoriented Programming).Nhận thức về Trừu tượng hóa Dữ liệu (Data Abstraction).Định nghĩa một Lớp (Class).Định nghĩa một Đối tượng (Object).Nhận thức được sự khác biệt giữa Lớp và Đối tượng.Nhận thức được sự cần thiết đối với Thiết lập (Construction) và Hủy (Destruction).Định nghĩa tính Bền vững (Persistence).Hiểu biết về tính Thừa kế (Inheritance).Định nghĩa tính Đa hình (Polymorphism).Liệt kê những thuận lợi của phương pháp hướng Đối tượng.
Xem thêm

21 Đọc thêm

Giáo trình lập trình java toàn tập

GIÁO TRÌNH LẬP TRÌNH JAVA TOÀN TẬP

ấu trúc’ (structured programming). Nó xác định những chức năng chính của một chương trình và những chức năng này được phân thành những đơn vị nhỏ hơn cho đến mức độ thấp nhất. Bằng kỹ thuật này, các chương trình được cấu trúc theo hệ thống phân cấp các module. Mỗi một module có một đầu vào riêng và một đầu ra riêng. Trong mỗi module, sự điều khiển có chiều hướng đi xuống theo cấu trúc chứ không có chiều hướng đi lên. Phương pháp OOP cố gắng quản lý việc thừa kế phức tạp trong những vấn đề thực tế. Để làm được việc này, phương pháp OOP che giấu một vài thông tin bên trong các đối tượng. OOP tập trung trước hết trên dữ liệu. Rồi gắn kết các phương thức thao tác trên dữ liệu, việc này được xem như là phần thừa kế của việc định nghĩa dữ liệu. Bảng 1.1 minh họa sự khác biệt giữa hai phương pháp: Phương pháp TopDown OOP Chúng ta sẽ xây dựng một khách sạn. Chúng ta sẽ xây dựng một tòa nhà 10 tầng với những dãy phòng trung bình, sang trọng, và một phòng họp lớn. Chúng ta sẽ thiết kế các tầng lầu, các phòng và phòng họp. Chúng ta sẽ xây dựng một khách sạn với những thành phần trên. Bảng 1.1 Một ví dụ về hai phương pháp giải quyết OOP và Structured 1.2 Trừu tượng hóa dữ liệu (Data Abstraction) Khi một lập trình viên phải phát triển một chương trình ứng dụng thì không có nghĩa là người ấy lập tức viết mã cho ứng dụng ấy. Trước hết, người ấy phải nghiên cứu ứng dụng và xác định những thành phần tạo nên ứng dụng. Kế tiếp, người ấy phải xác định những thông tin cần thiết về mỗi thành phần. Hãy khảo sát chương trình ứng dụng cho việc mua bán xe hơi nói trên. Chương trình phải xuất hóa đơn cho những xe hơi đã bán cho khách hàng. Để xuất một hóa đơn, chúng ta cần những thông tin chi tiết về khách hàng. Vậy bước thứ nhất là xác định những đặc tính của khách hàng. Một vài đặc tính gắn kết với khách hàng là: Tên. Địa chỉ. Tuổi. Chiều cao. Màu tóc. Từ danh sách kể trên, chúng ta xác định những đặc tính thiết yếu đối với ứng dụng. Bởi vì chúng ta đang đề cập đến những khách hàng mua xe, vì thế những chi tiết thiết yếu là: Tên. Địa chỉ. Còn những chi tiết khác (chiều cao, màu tóc …) là không quan trọng đối với ứng dụng. Tuy nhiên, nếu chúng ta phát triển một ứng dụng hỗ trợ cho việc điều tra tội phạm thì những thông tin chẳng hạn như màu tóc là thiết yếu. Bên cạnh những chi tiết về khách hàng, những thông tin sau cũng cần thiết: Kiểu xe được bán. Nhân viên nào bán xe. Bên cạnh những đặc tính của khách hàng, xe hơi và nhân viên bán hàng, chúng ta cũng cần liệt kê những hành động được thực hiện. Công việc xuất hóa đơn đòi hỏi những hành động sau: Nhập tên của khách hàng. Nhập địa chỉ của khách hàng. Nhập kiểu xe. Nhập tên của nhân viên bán xe. Xuất hóa đơn với định dạng đòi hỏi. Khung thông tin bên dưới cho thấy những thuộc tính và những hành động liên quan đến một hóa đơn: Các thuộc tính Tên của khách hàng Địa chỉ của khách hàng Kiểu xe bán Nhân viên bán xe Các hành động Nhập tên Nhập địa chỉ Nhập kiểu xe Nhập tên nhân viên bán xe Xuất hóa đơn Định nghĩa Sự trừu tượng hóa dữ liệu là quá trình xác định và nhóm các thuộc tính và các hành động liên quan đến một thực thể cụ thể, xét trong mối tương quan với ứng dụng đang phát triển. Tiếp theo, chúng ta muốn ứng dụng tính toán tiền hoa hồng cho nhân viên bán hàng. Những thuộc tính liên kết với nhân viên bán hàng có tương quan với ứng dụng này là: Tên. Số lượng xe bán được. Tiền hoa hồng. Những hành động đòi buộc đối với công việc này là: Nhập tên nhân viên bán xe. Nhập số lượng xe bán được. Tính tiền hoa hồng kiếm được. Những thuộc tính Tên Số lượng xe bán được Tiền hoa hồng Những hành động Nhập tên Nhập số lượng xe bán được Tính tiền hoa hồng Như thế, việc trừu tượng hóa dữ liệu tra đặt ra câu hỏi ‘Đâu là những thuộc tính và những hành động cần thiết cho một vấn đề đặt ra?’ 1.2.1 Những ưu điểm của việc Trừu tượng hóa Những ưu điểm của việc Trừu tượng hóa là: Tập trung vào vấn đề. Xác định những đặc tính thiết yếu và những hành động cần thiết. Giảm thiểu những chi tiết không cần thiết. Việc trừu tượng hóa dữ liệu là cần thiết, bởi vì không thể mô phỏng tất cả các hành động và các thuộc tính của một thực thể. Vấn đề mấu chốt là tập trung đến những hành vi cốt yếu và áp dụng chúng trong ứng dụng. Chẳng hạn như khách hàng hoặc nhân viên bán hàng cũng có thể thực hiện những hành động sau: Người ấy đi lại. Người ấy nói chuyện. Tuy nhiên, những hành động này không liên quan đến ứng dụng. Việc trừu tượng hóa dữ liệu sẽ loại bỏ chúng. 1.3 Lớp (Class) Trong ứng dụng mua bán xe, chúng ta đã xác định các thuộc tính và các hành động cần có để xuất một hóa đơn cho một khách hàng. Các hành động và các thuộc tính này là chung cho mọi khách hàng mua xe. Ví thể, chúng có thể được nhóm lại trong một thực thể đơn nhất gọi là một ‘lớp’. Hãy khảo sát lớp có tên là ‘khách hàng’ dưới đây. Lớp này bao gồm mọi thuộc tính và hành động đòi hỏi đối với một khách hàng. Lớp Khách hàng Tên khách hàng Địa chỉ khách hàng Kiểu xe được bán Nhân viên bán xe Nhập tên Nhập địa chỉ Nhập kiểu xe được bán Nhập tên nhân viên bán xe Xuất hóa đơn Định nghĩa Một lớp định nghĩa một thực thể theo những thuộc tính và những hành động chung. Hoặc Những thuộc tính và những hành động chung của một thực thể được nhóm lại để tạo nên một đơn vị duy nhất gọi là một lớp. Hoặc Một lớp là một sự xác định cấp chủng loại của các thực thể giống nhau. Một lớp là một mô hình khái niệm về một thực thể. Nó mang tính cách tổng quát chứ không mang tính cách đặc thù. Khi định nghĩa một lớp, chúng ta muốn phát biểu rằng một lớp sẽ phải có một tập hợp các thuộc tính và các hành động riêng. Chẳng hạn như một định nghĩa lớp dưới đây: Lớp Con người Tên Chiều cao Màu tóc Viết Nói Lớp này định nghĩa thực thể ‘Con người’. Mọi thực thể thuộc kiểu ‘Con người’ sẽ đều có những đặc tính và những hành động như đã được định nghĩa. Một khi một lớp đã được định nghĩa, chúng ta biết được những thuộc tính và những hành động của những thực thể ‘trông giống’ như lớp này. Vì thế, tự bản chất một lớp là một nguyên mẫu (prototype). Một ví dụ khác về một lớp liên quan đến việc mua bán xe hơi như sau: Lớp Nhân viên bán hàng Tên Số lượng xe bán được Tiền hoa hồng Nhập tên Nhập số lượng xe bán được Tính tiền hoa hồng Lớp trên định nghĩa các thuộc tính và các hành động đặc trưng cho mọi nhân viên bán xe hơi. 1.4 Đối tượng (Object) Một lớp là một nguyên mẫu phác họa những thuộc tính và những hành động có thể của một thực thể. Để có thể sử dụng thực thể mà lớp định nghĩa, chúng ta phải tạo một ‘đối tượng’ từ lớp đó. Lớp là một khái niệm, còn đối tượng là một thể hiện được định nghĩa bởi lớp. Hãy khảo sát lớp ‘Khách hàng’ được định nghĩa trên. Lớp này định nghĩa mọi thuộc tính và hành động gắn liền với một khách hàng. Khi một người mua một xe hơi ở một cửa hàng, cửa hàng ấy có một khách hàng mới. Vào thời điểm ấy, một đối tượng giống như lớp ‘Khách hàng’ được tạo ra. Đối tượng này sẽ phải có những giá trị thực đối với các thuộc tính ‘Tên’, ‘Địa chỉ’, ‘Kiểu xe’ … Chẳng hạn như một khách hàng có tên là ‘Mark’, sống ở ‘London’ đã mua một xe kiểu ‘Honda Civic’ từ nhân viên bán hàng tên là ‘Tom’. Như thế, ‘Mark’ là một đối tượng của kiểu ‘Khách hàng’. Định nghĩa: Một đối tượng là một trường hợp của một lớp. Một đối tượng là một thực thể cụ thể (thông thường bạn có thể sờ chạm, xem thấy và cảm nhận). Kể từ lúc một đối tượng hiện hữu, những thuộc tính của nó là những giá trị xác định, và những hành động được định nghĩa cho đối tượng này được thực thi. Trong mỗi một đối tượng, các khía cạnh sau đây được xác định rõ: Tình trạng (state). Thái độ (behavior). Chân tính (identity). Hình 1.2 trình bày hai đối tượng. Con người Tên: Jack Tuổi: 28 Trọng lượng: 65 kgs Hành động: Đi Nói Suy nghĩ Xe hơi Kiểu: Ferrari Màu: Đỏ Năm: 1995 Hành động: Khởi động Ngưng Chuyển động Hình 1.2: Một đối tượng Con người và một đối tượng Xe hơi Mỗi đối tượng có những đặc tính riêng mô tả đối tượng ấy là gì, hoặc hành động ra sao. Chẳng hạn như những thuộc tính của một đối tượng ‘Con người’ sẽ là: Tên. Tuổi. Trọng lượng. Những thuộc tính của một đối tượng ‘Xe hơi’ sẽ là: Màu sắc. Kiểu xe. Năm. Một đối tượng cũng thực hiện một số hành động. Một xe hơi có khả năng thực hiện những hành động sau: Khởi động. Ngưng. Chuyển động. Để chuyển đổi giữa các đối tượng lập trình và các đối tượng đời thực, cần phải kết hợp các thuộc tính và các hành động của một đối tượng. 1.4.1 Thuộc tính Chúng ta xác định các thuộc tính và các hành động để định nghĩa một lớp. Một khi các thuộc tính được gán cho các giá trị, chúng mô tả một đối tượng. Hãy khảo sát lớp sau: Các thuộc tính của lớp Khách hàng Tên của khách hàng Địa chỉ của khách hàng Kiểu xe được bán Nhân viên đã bán xe Khi thuộc tính ‘Tên’ được gán cho giá trị ‘Mark’ thì nó mô tả một đối tượng xác định được tạo từ lớp ‘Khách hàng’. Định nghĩa Một thuộc tính là một đặc tính mô tả một đối tượng. Như thế, các thuộc tính nắm giữ các giá trị dữ liệu trong một đối tượng, chúng định nghĩa một đối tượng cụ thể. Bởi vì một lớp là một nguyên mẫu cho nên các thuộc tính trong một lớp không thể nắm giữ các giá trị. Một thuộc tính có thể được gán một giá trị chỉ sau khi một đối tượng dựa trên lớp ấy được tạo ra. Để có thể lưu giữ những chi tiết của một khách hàng, một thể hiện(đối tượng) của lớp ‘Khách hàng’ phải được tạo ra. Các thuộc tính của một đối tượng hiện hữu chỉ khi đối tượng ấy được tạo ra. Mọi đối tượng của một lớp phải có cùng các thuộc tính. Khảo sát ví dụ sau: Đối tượng được tạo từ lớp Con người Mark 6 ft. 1 in. Black = = = Các thuộc tính của lớp Con người Tên Chiều cao Màu tóc 1.4.2 Hoạt động (Operation) Các hành động khả thi, như được định nghĩa trong một lớp, được gọi là ‘các hoạt động’. Định nghĩa Một hoạt động là một dịch vụ được yêu cầu của một đối tượng. Các hoạt động xác định các hành động cần phảit thực hiện của một đối tượng được tạo ra từ một lớp. Chẳng hạn như chúng ta không thể yêu cầu một hoạt động ‘Mua một xe hơi khác’ của một đối tượng được tạo ra từ lớp ‘Khách hàng’. Một lớp chỉ là một nguyên mẫu. Vì thế, trong một lớp một hoạt động chỉ được định nghĩa. Còn việc áp dụng hoạt động ấy chỉ xảy ra nơi các đối tượng riêng rẽ. Chẳng hạn như hoạt động ‘Nhập Tên’ mà lớp “Khách hàng’ định nghĩa có thể được thực hiện nơi một đối tượng nào đó. Tập hợp các hoạt động được yêu cầu cho tất cả các đối tượng trong cùng một lớp là như nhau. 1.4.3 Phương thức (Method) Các hoạt động định nghĩa các hành động khả thi có thể được yêu cầu của một đối tượng. Một phương thức là sự thực thi thực tế của một hoạt động. Định nghĩa Phương thức là sự xác định về cách thức thực thi một hoạt động được yêu cầu. Các phương thức xác định cách thức thao tác trên các dữ liệu của một đối tượng. Bởi vì phương thức là sự thực thi thực tế một hoạt động, cho nên nó có thể được áp dụng cho một đối tượng. Một phương thức là một thuật toán, từng bước từng bước (stepbystep) xác định điều gì được thực hiện khi hoạt động ấy được yêu cầu. Hãy khảo sát những hoạt động chung của một thực thể thuộc loại ‘Con người’: Đi, Nói. Chỉ khi một đối tượng cụ thể của loại ‘Con người’ được tạo ra thì các hành động ‘Đi’, ‘Nói’ mới được thực thi. 1.4.4 Thông điệp (Message) Để yêu cầu một hoạt động cụ thể nào đó được thực hiện, một thông điệp được gởi tới đối tượng nơi hoạt động này được định nghĩa. Định nghĩa Một thông điệp là một lời yêu cầu một hoạt động. Khi một đối tượng nhận được một thông điệp, nó thực hiện một phương thức tương ứng. Chẳng hạn, một đối tượng được tạo từ lớp ‘Khách hàng’ để nhập tên của người sử dụng. Khi đối tượng nhận được thông điệp, nó tìm và thực thi phương thức ‘Nhập tên’. Trong trường hợp một công ty, mỗi bộ phận được coi là một đối tượng. Những thông tin được chuyển tới và được đón nhận từ mỗi bộ phận (hoặc qua thông báo liên bộ phận, hoặc qua những chỉ thị miệng) tạo nên những thông điệp giữa các đối tượng. Những chỉ thị này có thể được chuyển dịch thành những lời gọi hàm trong một chương trình. Phòng Kinh doanh Phòng Kế toán Mức lương? 2000 Hình 1.3 Các đối tượng gởi thông điệp cho nhau Trong hình 1.3, ‘Kinh doanh’ và ‘Kế toán’ là hai bộ phận khác nhau trong một công ty. Hai bộ phận này được coi là hai đối tượng khác nhau. Thông tin được truyền đi và được đón nhận giữa các bộ phận tạo nên các thông điệp giữa các đối tượng. 1.4.5 Sự kiện (Event) Một sự kiện là một sự việc xảy ra cho một đối tượng tại một thời điểm. Để đáp ứng lại sự kiện ấy, đối tượng sẽ thực hiện một hoặc nhiều phương thức. Nói cách khác, một sự kiện là một tác nhân mà đối tượng này gây ra cho một đối tượng khác. Chẳng hạn như click chuột trái trên một nút. Để hiểu rõ hơn các sự kiện, hãy khảo sát ví dụ sau từ thực tế: ‘Một người sẽ thét lên khi bị thọc bằng một vật nhọn’. ‘Thọc’ là sự kiện gây ra sự phản ứng là ‘thét lên’. Trong máy tính, một người sử dụng nhấn một nút trên bàn phím là một sự kiện chung. Sự phản hồi đối với sự kiện này là việc hiển thị ký tự tương ứng trên màn hình. 1.5 Lớp và Đối tượng Có một sự khác biệt thực sự giữa một lớp và một đối tượng. Cần nhận thức rõ sự khác biệt này. Một lớp định nghĩa một thực thể, trong khi đó một đối tượng là một trường hợp của thực thể ấy. Đối tượng là một mô hình thực, trong khi lớp là một mô hình khái niệm định nghĩa tất cả các thuộc tính và các phương thức cần thiết của một đối tượng. Tất cả các đối tượng thuộc về cùng một lớp có cùng các thuộc tính và các phương thức. Một lớp là một nguyên mẫu của một đối tượng. Nó xác định các hành động khả thi và các thuộc tính cần thiết cho một nhóm các đối tượng cụ thể. 1.6 Thiết lập (Construction) và Hủy (Destruction) 1.6.1 Thiết lập Một lớp chỉ cung cấp những định nghĩa về các thuộc tính và các phương thức khả thi. Các thuộc tính và các phương thức có thể được truy cập chỉ khi một đối tượng dựa trên một lớp được tạo ra. Khi một đối tượng mới được tạo, các thuộc tính của nó trở nên hiện thực và có thể được gán giá trị. Tương tự, các phương thức đã được định nghĩa cũng được áp dụng. Định nghĩa Thiết lập là một tiến trình hiện thực hóa một đối tượng. Hàm thiết lập là một phương thức đặc biệt phải được gọi trước khi sử dụng bất kỳ phương thức nào trong một lớp. Hàm Thiết lập khởi tạo các thuộc tính, và cấp phát bộ nhớ nếu cần. Mỗi một lớp có một hàm thiết lập. Khảo sát lại trường hợp cửa hàng bán xe hơi. Ngay từ lúc đầu chỉ định nghĩa các lớp. Cho đến khi một khách hàng mua một xe hơi tại cửa hàng thì một đối tượng mới giống như lớp ‘Khách hàng’ mới được tạo. Khi đối tượng này được tạo, một số khoảng trống bộ nhớ được cấp phát cho những thuộc tính của nó để lưu trữ các giá trị được gán cho các thuộc tính ấy (‘Tên’, ‘Địa chỉ’ …). Hàm thiết lập thực hiện việc cấp phát này. Vào lúc này, mọi thuộc tính và phương thức của đối tượng sẵn sàng để sử dụng. Tương tự như trường hợp một học sinh nhập học tại một trường học. Khi một học sinh nhập học, một vài hành động được thực hiện để nhận học sinh ấy vào trường. Đó là: Xếp lớp cho học sinh ấy. Ghi tên học sinh ấy vào danh sách. Xếp chỗ ngồi. Đây là những hành động đồng loạt được thực hiện ngay lúc bắt đầu nhập học. Chúng tương tự với những hành động mà hàm thiết lập của một đối tượng thực hiện. 1.6.2 Hủy Khi một đối tượng không còn cần thiết nữa thì nó sẽ bị hủy bỏ. Sẽ lãng phí tài nguyên, chẳng hạn như bộ nhớ, nếu như tiếp tục để cho một đối tượng tồn tại một khi nó không còn cần thiết. Định nghĩa Hàm Hủy là một phương thức đặc biệt được dùng để hủy bỏ một đối tượng. Tiến trình Hủy tiêu hủy một đối tượng và giải phóng khoảng trống bộ nhớ mà hàm thiết lập đã cấp phát cho nó. Hàm Hủy cũng triệt tiêu khả năng truy cập đến đối tượng ấy. Một khi một đối tượng bị hủy thì các thuộc tính của nó không thể được truy cập, cũng như không một phương thức nào có thể được thực thi. Chẳng hạn, trong trường hợp bán xe hơi, một khi nhân viên bán hàng bỏ nghề, những chi tiết của người ấy không còn liên hệ. Vì thế, đối tượng tương ứng sẽ bị hủy. Điều này giải phóng bộ nhớ đã cấp phát cho nhân viên bán hàng ấy. Khoảng trống này giờ đây có thể được tái sử dụng. Hãy xem xét ví dụ về trường học trên đây. Khi một học sinh thôi học, tên của học sinh ấy bị loại ra khỏi danh sách, và khoảng trống được giải phóng có thể được tái cấp phát. Các hành động đồng loạt này tương tự với công việc của hàm hủy đối với một đối tượng. 1.7 Tính Bền vững (Persistence) Hãy khảo sát trường hợp bán xe hơi. Những chi tiết của khách hàng được lưu trữ ngay khi xe hơi đã được phân phối.Việc duy trì dữ liệu vẫn cần thiết cho đến khi dữ liệu được chỉnh sửa hoặc hủy bỏ chính thức. Định nghĩa Tính Bền vững là khả năng lưu trữ dữ liệu của một đối tượng ngay cả khi đối tượng ấy không còn tồn tại. Cửa hàng bán xe lưu trữ chi tiết khách hàng vào một file. Những chi tiết này sẽ tồn tại trong file cho đến khi chúng bị hủy, hoặc bản thân file bị hủy. Chúng ta đụng chạm tính bền vững mỗi ngày. Hãy xem việc sáng tác một bài thơ. Bài thơ là dữ liệu tồn tại trong tâm trí của nhà thơ. Bao lâu nhà thơ còn tồn tại thì bấy lâu bài thơ còn tồn tại. Nếu bài thơ muốn tồn tại ngay cả sau khi nhà thơ qua đời thì nó phải được viết ra giấy. Bài thơ được viết ra giấy tạo nên sự bền vững. Bài thơ sẽ tồn tại bao lâu văn bản ấy còn được duy trì. Bài thơ ấy không còn tồn tại khi tờ giấy ấy bị xé rách, hoặc chữ nghĩa bị xóa đi. 1.8 Tính Đóng gói dữ liệu Tiến trình trừu tượng hóa dữ liệu hỗ trợ cho việc xác định những thuộc tính và những phương thức thiết yếu. Thông thường, các đối tượng sử dụng những thuộc tính và những phương thức không được yêu cầu bởi người sử dụng đối tượng. Chẳng hạn như trong trường hợp lớp ‘Khách hàng’. Lớp ấy có một phương thức xuất hóa đơn. Giả sử rằng khi hóa đơn được xuất, một trong những chi tiết được in ra trên hóa đơn là ngày phân phối. Tuy nhiên chúng ta không biết thuộc tính nào qua đó chúng ta có thể xác định thông tin này. Ngày phân phối được phát sinh bên trong đối tượng, và được hiển thị trên hóa đơn. Như thế người sử dụng không nhận thức về cách thức mà ngày phân phối được hiển thị. Ngày phân phối có thể được xử lý theo một trong những cách sau: Đó là một giá trị được tính toán Chẳng hạn, 15 ngày kể từ ngày đặt hàng. Đó là một giá trị cố định – Xe hơi được phân phối vào ngày mùng 2 mỗi tháng. Đối tượng sử dụng những thuộc tính và những phương thức mang tính nội bộ. Bởi vì những thuộc tính và những phương thức có thể được che khuất khỏi tầm nhìn. Các đối tượng khác và những người sử dụng không nhận thức được các thuộc tính và hoặc các phương thức như thế có tồn tại hay không. Tiến trình che giấu các thuộc tính, các phương thức, hoặc các chi tiết của việc thi hành được gọi là ‘đóng gói’ (encapsulation). Định nghĩa Đóng gói là tiến trình che giấu việc thực thi những chi tiết của một đối tượng đối với người sử dụng đối tượng ấy. Việc đóng gói phân tích những khía cạnh có thể truy cập từ bên ngoài với những khía cạnh chỉ được sử dụng trong nội bộ của đối tượng. Ưu điểm của việc đóng gói là có thể tạo ra bất kỳ thuộc tính hay phương thức cần thiết để đáp ứng đòi hỏi công việc khi xây dựng một lớp. Mặt khác, chỉ những thuộc tính và hoặc những phương thức có thể được truy cập từ bên ngoài lớp thì mới nhìn thấy. Một ví dụ khác về việc đóng gói là lớp ‘Nhân viên bán hàng’ đã được định nghĩa ở trên. Khi phương thức tính tiền hoa hồng được thực thi, người sử dụng không biết chi tiết của việc tính toán. Tất cả những gì họ biết chỉ là tổng số tiền hoa hồng mà họ phải trả cho nhân viên bán hàng. Một trường hợp về đóng gói mà chúng ta gặp trong đời sống hằng ngày là việc giao dịch kinh doanh ở một cửa hàng. Khách hàng yêu cầu sản phẩm X. Họ được trao cho sản phẩm X, và họ phải trả tiền cho sản phẩm ấy. Sau khi khách hàng yêu cầu sản phẩm, người bán hàng thực hiện những hành động sau: Kiểm tra mặt hàng trên kệ hàng. Giảm số lượng mặt hàng trong bảng kiểm kê sau khi bán. Tuy nhiên, khách hàng không được biết những chi tiết này. 1.9 Tính thừa kế Hãy khảo sát các lớp sau: Lớp Sinh viên Lớp Nhân viên Lớp Khách hàng Tên Tên Tên Địa chỉ Địa chỉ Địa chỉ Điểm môn 1 Lương Kiểu xe đã bán Điểm môn 2 Chức vụ Nhập tên Nhập tên Nhập tên Nhập địa chỉ Nhập địa chỉ Nhập địa chỉ Nhập kiểu xe Nhập điểm Nhập chức vụ Xuất hóa đơn Tính tổng điểm Tính lương Trong tất cả ba lớp, chúng ta thấy có một vài thuộc tính và hoạt động chung. Chúng ta muốn nhóm những thuộc tính và những hoạt động ấy lại, và định nghĩa chúng trong một lớp ‘Người’. Lớp Người Tên Địa chỉ Nhập tên Nhập địa chỉ Ba lớp ‘Sinh viên’, ‘Nhân viên’ và ‘Khách hàng’ có những thành phần giống lớp ‘Người’. Nói cách khác, ba lớp ấy có tất cả các thuộc tính và các phương thức của lớp ‘Người’, ngoài ra chúng còn có những thuộc tính và những phương thức riêng. Chúng ta cần phải định nghĩa lớp ‘Người’ và sử dụng nó trong khi định nghĩa các lớp ‘Sinh viên’, ‘Nhân viên’ và ‘Khách hàng’. Chúng ta xây dựng một lớp ‘Người’ với những thuộc tính và những hoạt động như đã trình bày ở hình trên. Kế tiếp, chúng ta xây dựng lớp ‘Khách hàng’ bao gồm lớp ‘Người’ cộng với những thuộc tính và những phương thức riêng. Chúng ta có thể định nghĩa các lớp ‘Sinh viên’ và ‘Nhân viên’ theo cùng cách thức trên. Như thế, cả ba lớp ‘Khách hàng’, ‘Sinh viên’ và ‘Nhân viên’ đều chia sẻ những thuộc tính và những phương thức mà lớp ‘Người’ cung cấp. Lớp Sinh viên Lớp Nhân viên Lớp Khách hàng Điểm môn 1 Điểm môn 2 Nhập điểm tính tổng điểm Lương Chức vụ Nhập chức vụ Tính lương Kiểu xe bán được Nhập kiểu xe Xuất hóa đơn Theo ngôn ngữ hướng đối tượng, lớp ‘Khách hàng’ được gọi là thừa kế lớp ‘Người’. Định nghĩa: Tính thừa kế cho phép một lớp chia sẻ các thuộc tính và các phương thức được định nghĩa trong một hoặc nhiều lớp khác. Có hai khái niệm quan trọng khác liên kết với tính thừa kế. Lớp ‘Khách hàng’ là lớp ‘Người’ cộng thêm cái khác. Như thế, lớp ‘Khách hàng’ có tất cả các thuộc tính và các phương thức được định nghĩa trong lớp ‘Người’ cộng với các thuộc tính và các hoạt động của riêng nó. Trong ví dụ này, lớp ‘Khách hàng’ được gọi là ‘lớp con’ (subclass). Định nghĩa: Lớp thừa hưởng từ một lớp khác được gọi là Subclass. Trong ví dụ trên, lớp ‘Người’ được coi là ‘lớp trên’ (superclass). Định nghĩa: Một Superclass là một lớp mà các đặc tính của nó được một lớp khác thừa hưởng. Hãy xem xét ví dụ về lớp ‘Các động vật’ ở hình 1.4. ‘Các động vật’ là lớp trên cùng mà các lớp khác kế thừa. Chúng ta có một dãy các lớp trung gian – ‘Côn trùng’, ‘Hữu nhũ’, ‘Bò sát’, ‘Lưỡng cư’ mà dãy các lớp dưới kế thừa. Các lớp ‘Côn trùng’, ‘Hữu nhũ’, ‘Bò sát’, ‘Lưỡng cư’ là những lớp con của lớp trên ‘Các động vật’. Như thế, những lớp này có tất cả những thuộc tính và các hoạt động của lớp ‘Các động vật’, cộng thêm những thuộc tính và những phương thức của riêng chúng. Lớp ‘Hữu nhũ’ là lớp mà các lớp ‘Con người’ và ‘Khác con người’ thừa kế. Như thế, các lớp ‘Con người’ và ‘Khác con người’ là các lớp con của lớp trên ‘Hữu nhũ’. Côn trùng Các động vật Hữu nhũ Bò sát Lưỡng cư Con người Khác con người Hình 1.4 Tính thừa kế 1.9.1 Tính Đa Thừa kế Trong tất cả các ví dụ trên, một lớp thừa kế chỉ từ một lớp. Ngay cả trong ví dụ thừa kế về các loại phương tiện di chuyển, mỗi lớp con chỉ có một lớp cha. Trường hợp như thế gọi là ‘thừa kế đơn’ (single inheritance). Trong ‘đa thừa kế’, một lớp con thừa kế từ hai hay nhiều lớp cha. Hãy khảo sát ví dụ sau: = + + Lớp Đường thẳng Khởi điểm Điểm tận cùng Vẽ đường thẳng Lớp Đường tròn Bán kính Tâm điểm Vẽ đường tròn Lớp Hình ảnh Hình ảnh Vẽ hình ảnh Lớp Vẽ một hình Nhận hình vẽ Vẽ hình Trong hình trên, chúng ta đã xây dụng một lớp ‘Vẽ một hình’, lớp này thừa hưởng ba lớp: ‘Đường thẳng’, ‘Đường tròn’, ‘Hình ảnh’. Như thế lớp ‘Vẽ một hình’ kết hợp chức năng của ba lớp trên thêm vào chức năng được định nghĩa bên trong nó. Lớp ‘Vẽ một hình’ là một ví dụ về tính đa thừa kế. Có thể sử dụng tính đa thừa kế để xây dựng một lớp mới, lớp này dẫn xuất chức năng của nó từ một vài lớp khác. Như thế, xét theo góc cạnh của người sử dụng lớp mới này, chỉ cần một lớp mà cung cấp tất cả các chức năng. Như vậy, họ không cần phải sử dụng nhiều đối tượng khác nhau. Sự thuận lợi quan trọng nhất của tính thừa kế là nó thúc đẩy việc tái sử dụng mã chương trình. Trong ví dụ trên, chúng ta có ba lớp ‘Đường thẳng’, ‘Đường tròn’ và ‘Hình ảnh’. Giả thiết rằng ba người khác nhau xây dựng ba lớp này riêng biệt. Bây giờ, người sử dụng cần xây dựng một lớp để vẽ đường thẳng, vẽ đường tròn cũng như hiển thị hình ảnh. Vì thế họ tìm kiếm xem có lớp nào đáp ứng một hoặc tất cả các yêu cầu đó. Nếu có những lớp cung cấp chức năng thỏa yêu cầu thì người sử dụng sẽ thừa kế những lớp đó để tạo một lớp mới. Giờ đây người sử dụng chỉ còn phải viết mã chương trình cho những đặc tính chưa có sau tiến trình thừa kế. Người sử dụng có thể sử dụng chính ba lớp trên. Tuy nhiên, sự thừa kế cung cấp một bó những chức năng hỗn độn trong một lớp. 1.10 Tính Đa hình Trong một chương trình có cấu trúc (a structured program), một phương th
Xem thêm

22 Đọc thêm

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

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA PTIT

Tài liệu gồm 6 chương :
Chương 1: Tổng quan về tiếp cận hướng đối tượng
Chương 2: Khái niệm cơ bản của lập trình hướng đối tượng
Chương 3: Ngôn ngữ Java
Chương 4: Kế thừa và đa hình trên Java
Chương 5: Cài đặt cấu trúc dữ liệu lên Java
Chương 6: Lập trình giao diện trên Java

173 Đọc thêm

TÀI LIỆU NGÔN NGỮ LẬP TRÌNH C++, NNLT C++ CƠ BẢN

TÀI LIỆU NGÔN NGỮ LẬP TRÌNH C++, NNLT C++ CƠ BẢN

C++ cơ bản hay nhất, tốt nhất, đầy đủ nhất:
C++ là ngôn ngữ lập trình hỗ trợ lập trình thủ tục, dữ liệu trừu trượng, lập trình hướng đối tượng, và lập trình đa hình. C++ chứa một lượng lớn các chương trình viết sẵn nằm trong thư viện chuẩn C++ (STL Standard Template Library).

53 Đọc thêm

ĐỀ CƯƠNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

ĐỀ CƯƠNG MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

 Thuộc nhóm học phần cơ sở, môn học cung cấp những kiến thức cơ bản về
phương pháp lập trình hướng đối tượng bao gồm các nguyên lý cơ bản nhất của
lập trình hướng đối tượng (che dấu thông tin, tính đóng gói, kế thừa, đa hình),
các nguyên tắc thiết kếcài đặt lớp, thiết kếcài đặt mối quan hệ giữa các lớp và
vấn đề cài đặt chương trình từ kết quả phân tích thiết kế hướng đối tượng.
 Ngôn ngữ lập trình C++ được sử dụng như ngôn ngữ minh họa chính cho vấn
đề lập trình.
Xem thêm

6 Đọc thêm

Giáo trình CC++ từ a đến z

GIÁO TRÌNH CC++ TỪ A ĐẾN Z

Chương 1. CÁC KHÁI NIỆM CƠBẢN CỦA C++ I. CÁC YẾU TỐCƠBẢN II. MÔI TRƯỜNG LÀM VIỆC CỦA C++ III. CÁC BƯỚC ĐỂTẠO VÀ THỰC HIỆN MỘT CHƯƠNG TRÌNH IV. VÀORA TRONG C++ Chương 2. KIỂU DỮLIỆU, BIỂU THỨC VÀ CÂU LỆNH I. KIỂU DỮLIỆU ĐƠN GIẢN II. HẰNG KHAI BÁO VÀ SỬDỤNG HẰNG III. BIẾN KHAI BÁO VÀ SỬDỤNG BIẾN Chương 3. CẤU TRÚC ĐIỀU KHIỂN VÀ DỮLIỆU KIỂU MẢNG I. CẤU TRÚC RẼNHÁNHIII. MẢNG DỮLIỆU IV. MẢNG HAI CHIỀU Chương 4. HÀM VÀ CHƯƠNG TRÌNH I. CON TRỎVÀ SỐHỌC ĐỊA CHỈII. HÀM III. ĐỆQUI Chương 5. DỮLIỆU KIỂU CẤU TRÚC VÀ HỢP I. KIỂU CẤU TRÚCII. CẤU TRÚC TỰTRỎVÀ DANH SÁCH LIÊN KẾT III. KIỂU HỢP IV. KIỂU LIỆT KÊ Chương 6. ĐỒHỌA VÀ ÂM THANH I. ĐỒHOẠII. ÂM THANH Chương 7. LỚP VÀ ĐỐI TƯỢNG I. LẬP TRÌNH CẤU TRÚC VÀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG III. ĐỐI CỦA PHƯƠNG THỨC, CON TRỎthis IV. HÀM TẠO (Constructor) V. HÀM HỦY (Destructor) VI. CÁC HÀM TRỰC TUYẾN (inline) Chương 8. HÀM BẠN, ĐỊNH NGHĨA PHÉP TOÁN CHO LỚP I. HÀM BẠN (friend function) II. ĐỊNH NGHĨA PHÉP TOÁN CHO LỚPChương 11. CÁC DÒNG NHẬPXUẤT VÀ FILE I. NHẬPXUẤT VỚI CINCOUT II. ĐỊNH DẠNGIII. IN RA MÁY INIV. LÀM VIỆC VỚI FILEV. NHẬPXUẤT NHỊPHÂN
Xem thêm

308 Đọc thêm

PHÂN TÍCH BÀI TOÁN QUAN HỆ GIA ĐÌNH THEO PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

PHÂN TÍCH BÀI TOÁN QUAN HỆ GIA ĐÌNH THEO PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Các đối tượng có thể tác động, trao đổi thông tin với nhau thông qua cơ chế thông báo, để hiểu thêm về cách tổ chức cơ sở dữ liệu trong lập trình hướng đối tượng ta tìm hiểu bài toán qua[r]

7 Đọc thêm

Nhửng kỷ thuật căn bản sử dụng bảng biểu access trong quản lý tài chính

NHỬNG KỶ THUẬT CĂN BẢN SỬ DỤNG BẢNG BIỂU ACCESS TRONG QUẢN LÝ TÀI CHÍNH

LỜI NÓI ĐẦU
Ngày nay, các công nghệ khoa học, kỹ thuật ngày càng phát triển như vũ bão, trong đó khoa học máy tính cũng phát triển mạnh mẽ và xâm nhập vào mọi lĩnh vực khoa học, kinh tế, xã hội, quản lý, ......máy tính hầu như đều có đóng góp khả năng tuyệt vời của nã tới tất cả các lĩnh vực. Từ việc xây dựng các chương trình khoa học kỹ thuật lớn đến các công việc quản lý thường nhật, máy tính giúp chúng ta cập nhật, tìm kiếm và lưu trữ thông tin một cách tốt nhất. Nhưng các phần mềm hỗ trợ cho việc sử dông máy tính hầu hết của nước ngoài, điều này gây rất nhiều trở ngại đối với những người không biết hoặc biết Ýt tiếng Anh.Vì vậy các phần mềm sử dụng tiếng Việt sẽ giúp người sử dụng có hiều quả hơn trong công việc. Bên cạnh các ngôn ngữ lập trình đa dạng và phong phó, thì hệ quản trị cơ sở dữ liệu Microsoft Access có tính năng cao hơn cả, giúp cho người dùng trong các công tác tổ chức, lập dự án, tìm kiếm, lưu trữ, biểu diễn thông tin, tiết kiệm thời gian. Phần mềm Microsoft Access của hãng Microsoft là phần mềm phổ biến ở nước ta hiện nay. Microsoft Access là hệ quản trị cơ sở dữ liệu trực quan theo hướng đối tượng lấy ngôn ngữ Basic làm gốc. Sử dụng phần mềm lập trình hướng đối tượng trên Windows sẽ giúp chương trình dễ sử dụng và tiện lợi cho người sử dụng vì nó cung cấp khả năng tạo đối tượng và các líp bằng cách sử dụng giao diện thay ngôn ngữ, Microsoft Access có giao diện đẹp, các thao tác đơn giản không bị phụ thuộc vào chương trình như các chương trình lập trình trên môi trường DOS. Khả năng kết nối và các công cụ truy vấn giúp cho ta tổ chức tìm kiếm thông tin một cách nhanh chóng khi cơ sở dữ liệu đã được tạo các quan hệ ràng buộc.
Để hiểu thêm về những tính năng của Microsoft Access chúng em mạnh dạn lựa chọn đề tài: Nhửng kỷ thuật căn bản sử dụng bảng biểu Access trong quản lý tài chính




NỘI DUNG
I. Phần thiết kế
A. Tạo bảng ?
Trước hết mở CSDL chọn TableNew, chọn các kiểu thiết kế bảng và chọn bảng cần thiết kế như sau


sau đó nhấn OK bảng thiết kế xuất hiện


cột thứ nhất cho ta nhập các trường tương ứng, cột thứ hai cho ta chọn các kiểu trường , sau dã di chuyển chuột xuống phía dưới ta có các kiểu giá trị gán cho trường cần nhập
Ví dụ : Các bảng được tạo trong đồ án này
Xem thêm

36 Đọc thêm

BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (DÙNG JAVA) CHƯƠNG 3 TRẦN MINH THÁI (2017 P1)

BÀI GIẢNG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (DÙNG JAVA) CHƯƠNG 3 TRẦN MINH THÁI (2017 P1)

Bài giảng Lập trình hướng đối tượng (dùng Java) Chương 3 Lập trình Hướng đối tượng với Java (P1) cung cấp cho người học các kiến thức Khai báo lớp và đối tượng trong Java, phương thức khởi tạo; các phạm vi trong Java, cách sử dụng. Mời các bạn cùng tham khảo.

91 Đọc thêm

CSDL phân tán TS. Phạm Thanh Quế, TS. Hoàng Minh

CSDL PHÂN TÁN TS. PHẠM THANH QUẾ, TS. HOÀNG MINH

Tài Liệu môn Cơ Sở Dữ Liệu Phân Tán
Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là database) được hiểu theo cách định nghĩa kiểu kĩ thuật thì nó là một tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu được phân làm nhiều loại khác nhau:
•Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ dưới dạng các file có thể là text, ascii, .dbf. Tiêu biểu cho cơ sở dữ liệu dạng file là.mdb Foxpro
•Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong các bảng dữ liệu gọi là các thực thể, giữa các thực thể này có mối liên hệ với nhau gọi là các quan hệ, mỗi quan hệ có các thuộc tính, trong đó có một thuộc tính là khóa chính. Các hệ quản trị hỗ trợ cơ sở dữ liệu quan hệ như: MS SQL server, Oracle, MySQL...
•Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bản dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng. Các hệ quản trị có hỗ trợ cơ sở dữ liệu hướng đối tượng như: MS SQL server, Oracle, Postgres
•Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng này thông tin mô tả về đối tượng thể hiện trong các tag. Đây là cơ sở dữ liệu có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng.
Xem thêm

20 Đọc thêm

Bài tập Passcal cho lớp 11

BÀI TẬP PASSCAL CHO LỚP 11

Pascal dựa trên ngôn ngữ lập trình ALGOL và được đặt tên theo nhà toán học và triết học Blaise Pascal. Wirth đồng thời cũng xây dựng Modula2 và Oberon, là những ngôn ngữ tương đồng với Pascal. Oberon cũng hỗ trợ kiểu lập trình hướng đối tượng
Bài tập pascal cơ bản đến nâng cao theo chương trình TIN HỌC
lớp 11 không phân ban này sẽ giúp các bạn nhiểu thêm về passcal để học tập môn tin học 11 hiệu quả hơn

45 Đọc thêm

BÀI GIẢNG TEMPLATE (KHUÔN MẪU)

BÀI GIẢNG TEMPLATE (KHUÔN MẪU)

Một số phương thức lấy tham số và trả về kiểu intNếu ta muốn tạo ngăn xếp cho một kiểu dữ liệu khác thìsao?Ta có nên định nghĩa lại hoàn toàn lớp Stack (kết quả sẽ tạora nhiều lớp chẳng hạn IntStack, FloatStack, …) hay không?Lập trình tổng quátTa thấy, trong một số trường hợp, đưa chi tiết về kiểudữ liệu vào trong định nghĩa hàm hoặc lớp là điều khôngcó lợiThực ra, khái niệm lập trình tổng quát học theo sự sửdụng một phương pháp của lớp cơ sở cho các thể hiện củacác lớp dẫn xuấtTrong khi ta cần các định nghĩa khác nhau cho "draw" của Point hayCircle, vấn đề khác hẳn với trường hợp một hàm chỉ có nhiệm vụ hoán đổihai giá trị
Xem thêm

38 Đọc thêm

Đề tài cấu trúc dữ liệu mẫu với c++ Luận văn tốt nghiệp đại học

ĐỀ TÀI CẤU TRÚC DỮ LIỆU MẪU VỚI C++ LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

Lập trình hướng đối tượng cho phép chúng ta kết hợp những tri thức bao quát về các quá trình với những khái niệm trừu tượng được sử dụng trong máy tính .Lập trình hướng đối tượng là phương pháp lập trình lấy đối tượng làm nền tảng để xây dựng thuật giải, xây dựng chương trình, là cách tiếp cận để phân chia chương trình thành các đơn thể (modul) bằng cách tạo ra các vùng bộ nhớ cho cả dữ liệu lẫn hàm và chúng sẽ được sử dụng như các mẫu để tạo ra bản sao từng đơn thể khi cần thiết. Đối tượng ở đây được xem như là vùng phân chia chia bộ nhớ trong máy tính để lưu trữ dữ liệu và tập các hàm tác động trên dữ liệu gắn với chúng.
Xem thêm

93 Đọc thêm

Ứng dụng ngăn xếp (Stack) và hàng đợi (Queue) để viết chương trình biến đổi biểu thức trung tố thành tiền tố và hậu tố.

ỨNG DỤNG NGĂN XẾP (STACK) VÀ HÀNG ĐỢI (QUEUE) ĐỂ VIẾT CHƯƠNG TRÌNH BIẾN ĐỔI BIỂU THỨC TRUNG TỐ THÀNH TIỀN TỐ VÀ HẬU TỐ.

Trong khoa học máy tính, cấu trúc dữ liệu là cách lưu dữ liệu trong máy tính sao cho nó có thể được sử dụng một cách hiệu quả. Thông thường, một cấu trúc dữ liệu được chọn cẩn thận sẽ cho phép thực hiện thuật toán hiệu quả hơn. Việc chọn cấu trúc dữ liệu thường bắt đầu từ chọn một cấu trúc dữ liệu trừu tượng. Một cấu trúc dữ liệu được thiết kế tốt cho phép thực hiện nhiều phép toán, sử dụng càng ít tài nguyên, thời gian xử lý và không gian bộ nhớ càng tốt. Các cấu trúc dữ liệu được triển khai bằng cách sử dụng các kiểu dữ liệu, các tham chiếu và các phép toán trên đó được cung cấp bởi một ngôn ngữ lập trình. Trong đó nổi trội lên là hai cấu trúc dữ liệu đó là Stack (ngăn xếp) và Queue (hàng đợi). Stack và Queue có ứng dụng rất nhiều kể cả trong thuật toán lẫn trong thực tế. Hàng ngày chúng ta thường xuyên làm việc và tiếp xúc với các biểu thức, toán hạng, toán tử… và máy tính cũng vậy. Tuy nhiên máy tính không thể nào hiểu được ngôn ngữ và cách viết của con người, vì vậy để máy tính hiểu được các biểu thức thì chúng ta phải chuyển chúng về một dạng mà máy tính có thể thực hiện được. Vì vậy em xin chọn đề tài “Ứng dụng ngăn xếp (Stack) và hàng đợi (Queue) để viết chương trình biến đổi biểu thức trung tố thành tiền tố và hậu tố” để làm bài tiểu luận.
Xem thêm

25 Đọc thêm

Báo cáo isas 4 quarter 4 so sánh .net và java

BÁO CÁO ISAS 4 QUARTER 4 SO SÁNH .NET VÀ JAVA

1. JAVA: Java là một mã nguồn mở do đó ta không phải lo lắng về giấy phép. Java là dễ sử dụng ngôn ngữ lập trình. Nó rất dễ dàng để viết, biên dịch và gỡ lỗi cho các ngôn ngữ lập trình khác. Java là hướng đối tượng vì Java là tập trung vào việc tạo ra các đối tượng, thao tác, và làm cho các đối tượng làm việc cùng nhau. .Nó có thể tạo ra các chương trình mô đun và sử dụng lại code. Một trong những lợi ích đáng kể nhất của Java là khả năng di chuyển dễ dàng từ một trong những hệ thống khác. Java có khả năng chạy các chương trình tương tự trên nhiều hệ thống khác nhau là rất quan trọng cho phần mềm World Wide Web. Java thành công lúc này bằng được nền độc lập ở cả hai nguồn và mức nhị phân. Viết chương trình mạng trong Java này cũng dễ như việc gửi và nhận dữ liệu đến và từ một file. JAVA là rất hữu ích cho việc tạo ứng dụng web động. JAVA lập trình cho phép bảo mật và hiệu suất cao phát triển trên nhiều nền tảng. Outsource Java tại Rightway giải pháp, giám định trong JAVAJ2EE phát triển với các lập trình viên JAVA chuyên nghiệp.2. .NET Hiện giờ trên thế giới mà ta muốn thực hiện trên nền Windows, tỷ như data access, windowing, nối mạng hay ngay cả mọi công dụng đa dạng của Win32 API (Application Programming Interface) đều có thể vận dụng dễ dàng qua kiểu mẫu đối tượng (objects) rất đơn giản (simple object model). Ngôn ngữ lập trình VB.NET đã được hiện đại hóa, bao gồm nhiều classes và mọi đặc trưng (features) của 1 ngôn ngữ lập trình kiểu OOP, không thua kém gì C++, J++ hay C, ...
Xem thêm

37 Đọc thêm

BÀI GIẢNG NGÔN NGỮ LẬP TRÌNH BÀI 10 LÊ NGUYỄN TUẤN THÀNH

BÀI GIẢNG NGÔN NGỮ LẬP TRÌNH BÀI 10 LÊ NGUYỄN TUẤN THÀNH

Bài giảng Ngôn ngữ lập trình Bài 10 Các kiểu dữ liệu trừu tượng Danh sách liên kết, ngăn xếp, hàng đợi cung cấp cho người học các kiến thức Các nút (Nodes) và danh sách liên kết, ứng dụng danh sách liên kết, iterators, cây (Trees). Mời các bạn cùng tham khảo.

50 Đọc thêm

NGÔN NGỮ LẬP TRÌNH JAVA

NGÔN NGỮ LẬP TRÌNH JAVA

MỤC LỤC
Chương 1: GIỚI THIỆU TỔNG QUAN VỀ NGÔN NGỮ LẬP
TRÌNH JAVA.........................................................................7
1.1. Mở đầu .........................................................................7
1.2. Giới thiệu về ngôn ngữ lập trình Java............................7
1.2.1. Java là gì? ..............................................................7
1.2.2. Lịch sử phát triển của ngôn ngữ lập trình Java........7
1.2.3. Một số đặc điểm nổi bậc của ngôn ngữ lập trình Java
........................................................................................8
1.3. Các ứng dụng Java...................................................... 10
1.3.1. Java và ứng dụng Console.................................... 10
1.3.2. Java và ứng dụng Applet ...................................... 11
1.3.3. Java và phát triển ứng dụng Desktop dùng AWT và
JFC................................................................................ 12
1.3.4. Java và phát triển ứng dụng Web.......................... 13
1.3.5. Java và phát triển các ứng dụng nhúng ................. 14
1.4. Dịch và thực thi một chương trình viết bằng Java........ 14
1.5. Chương trình Java đầu tiên.......................................... 15
1.5.1. Tạo chương trình nguồn HelloWordApp .............. 15
1.5.2. Biên dịch tập tin nguồn HelloWordApp................ 16
1.5.3. Chạy chương trình HelloWordApp....................... 16
1.5.4. Cấu trúc chương trình HelloWordApp.................. 17
Sử dụng phương thứcbiến của lớp................................ 17
1.6. Công cụ lập trình và chương trình dịch........................ 17
1.6.1. J2SDK................................................................. 17
1.6.2. Công cụ soạn thảo mã nguồn Java. ....................... 18
Chương 2: ............................................................................. 21
HẰNG, BIẾN, KIỂU DỮ LIỆU, ........................................... 21
TOÁN TỬ, BIỂU THỨC VÀ CÁC....................................... 21
CẤU TRÚC ĐIỀU KHIỂN TRONG JAVA.......................... 21
2.1. Biến............................................................................ 21
2.2. Các kiểu dữ liệu cơ sở................................................. 23
2.2.1. Kiểu số nguyên .................................................... 24
2.2.2. Kiểu dấu chấm động............................................. 26
2
2.2.3. Kiểu ký tự (char) .................................................. 26
2.2.4. Kiểu luận lý (boolean).......................................... 27
2.3. Hằng:.......................................................................... 27
2.4. Lệnh, khối lệnh trong java........................................... 28
2.5. Toán tử và biểu thức ................................................... 29
2.5.1. Toán tử số học...................................................... 29
2.5.2. Toán tử trên bit..................................................... 29
2.5.3. Toán tử quan hệ logic....................................... 29
2.5.4. Toán tử ép kiểu .................................................... 30
2.5.5. Toán tử điều kiện ................................................. 30
2.5.6. Thứ tự ưu tiên ...................................................... 30
2.6. Cấu trúc điều khiển..................................................... 31
2.6.1. Cấu trúc điều kiện if… else ................................. 31
2.6.2. Cấu trúc switch… case........................................ 32
2.6.3. Cấu trúc lặp.......................................................... 32
2.6.4. Cấu trúc lệnh nhảy (jump) .................................... 33
2.7. Lớp bao kiểu dữ liệu cơ sở (Wrapper Class)................ 33
2.8. Kiểu dữ liệu mảng....................................................... 34
2.8.1. Khái niệm mảng................................................... 34
2.8.2. Khai báo mảng..................................................... 34
2.8.3. Cấp phát bộ nhớ cho mảng................................... 35
2.8.4. Khởi tạo mảng...................................................... 35
2.8.5. Truy cập mảng ..................................................... 35
2.9. Một số ví dụ minh họa: ............................................... 36
Chương 3: HƯỚNG ĐỐI TƯỢNG TRONG JAVA............... 47
3.1. Mở đầu ....................................................................... 47
3.2. Lớp (Class) ................................................................. 48
3.2.1. Khái niệm............................................................ 48
3.2.2. Khai báođịnh nghĩa lớp ....................................... 48
3.2.3. Tạo đối tượng của lớp .......................................... 49
3.2.4. Thuộc tính của lớp ............................................... 49
3.2.5. Hàm Phương thức lớp (Method)......................... 50
3.2.6. Khởi tạo một đối tượng (Constructor)................... 52
3.2.7. Biến this............................................................... 53
3
3.2.8. Khai báo chồng phương thức (overloading method)
...................................................................................... 54
3.3. Đặc điểm hướng đối tượng trong java ......................... 54
3.3.1. Đóng gói (encapsulation) ..................................... 55
3.3.2. Tính đa hình (polymorphism):.............................. 55
3.3.3. Tính kế thừa (inheritance) .................................... 57
3.4. Gói (packages)............................................................ 62
3.5. Giao diện (interface) ................................................... 63
3.5.1. Khái niệm interface: ............................................. 63
3.5.2. Khai báo interface: ............................................... 64
3.5.3. Ví dụ minh họa..................................................... 65
Chương 4: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG............. 82
4.1. Mở đầu ....................................................................... 82
4.2. Giới thiệu thư viện awt................................................ 83
4.3. Các khái niệm cơ bản.................................................. 83
4.3.1. Component........................................................... 83
4.3.2. Container ............................................................. 84
4.3.3. Layout Manager ................................................... 85
4.4. Thiết kế GUI cho chương trình ................................... 86
4.4.1. Tạo khung chứa cửa sổ chương trình.................... 86
4.4.2. Tạo hệ thống thực đơn.......................................... 87
4.4.3. Gắn Component vào khung chứa.......................... 89
4.4.4. Trình bày các Component trong khung chứa ........ 90
4.4.5. Các đối tượng khung chứa Container.................. 101
4.5. Xử lý biến cốsự kiện................................................ 105
4.5.1. Mô hình xử lý sự kiện (EventHandling Model) . 105
4.5.2. Xử lý sự kiện chuột ............................................ 108
4.5.3. Xử lý sự kiện bàn phím.........
Xem thêm

57 Đọc thêm