text:
Lập trình Corel - Chương 1: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Chia sẻ: Mai Trần Thúy Hạnh | Ngày: | Loại File: PDF | Số trang:24
lượt xem 133
download
Lập trình Corel - Chương 1: 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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình Corel - Chương 1: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- Chương 1 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mục tiêu Kết thúc chương, học viên có thể: Định nghĩa Lập trình hướng Đối tượng (Object-oriented 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. 1.1 Giới thiệu về Lập trình hướng Đối tượng (Object-oriented Programming) 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. Mỗi vấn đề được chia ra thành nhiều yếu tố, được gọi là các Đối tượng (Objects) hoặc các Thực thể (Entities). Chẳng hạn như ở ví dụ trên, khách hàng, xe hơi và nhân viên bán hàng là những đối tượng hoặc thực thể. Lập trình viên luôn luôn cố gắng tạo ra những kịch bản (scenarios) thật quen thuộc với những tình huống đời sống thực. Bước thứ nhất trong đường hướng này là làm cho máy tính liên kết với những đối tượng thế giới thực. Tuy nhiên, máy tính chỉ là một cỗ máy. Nó chỉ thực hiện những công việc được lập trình mà thôi. Vì thế, trách nhiệm của lập trình viên là cung cấp cho máy tính những thông tin theo cách thức mà nó cũng nhận thức được cùng những thực thể như chúng ta nhận thức. Đó chính là lãnh vực của kỹ thuật hướng đối tượng. Chúng ta sử dụng kỹ thuật hướng đối tượng để ánh xạ những thực thể chúng ta gặp phải trong đời sống thực thành những thực thể tương tự trong máy tính. Phát triển phần mềm theo kỹ thuật lập trình hướng đối tượng có khả năng giảm thiểu sự lẫn lộn thường xảy ra giữa hệ thống và lãnh vực ứng dụng. Lập trình hướng đối tượng đề cập đến dữ liệu và thủ tục xử lý dữ liệu theo quan điểm là một đối tượng duy nhất. Lập trình hướng đối tượng xem xét dữ liệu như là một thực thể hay là một đơn vị độc lập, với bản chất riêng và những đặc tính của thực thể ấy. Bây giờ chúng ta hãy khảo sát những hạn từ ‘đối tượng’ (object), ‘dữ liệu’ (data) và ‘phương thức’ (method). Có nhiều loại đối tượng khác nhau. Chúng ta có thể xem các bộ phận khác nhau trong một cơ quan là các đối tượng. Điển hình là một cơ quan có những bộ phận liên quan đến việc quản trị, đến việc kinh doanh, đến việc kế toán, đến việc tiếp thị … Mỗi bộ phận có nhân sự riêng, các nhân sự được trao cho những trách nhiệm rõ ràng. Mỗi bộ phận cũng có những dữ liệu riêng chẳng hạn như thông tin cá nhân, bảng kiểm kê, những thể thức kinh doanh, hoặc bất kỳ dữ liệu nào liên quan đến chức năng của bộ phận đó. Rõ ràng là một cơ quan được chia thành nhiều bộ phận thì việc quản trị nhân sự và những hoạt động doanh nghiệp dễ dàng hơn. Nhân sự của cơ quan điều khiển và xử lý dữ liệu liên quan đến bộ phận của mình. Chẳng hạn như bộ phận kế toán chịu trách nhiệm về lương bổng đối với cơ quan. Nếu một người ở đơn vị tiếp thị cần những chi tiết liên quan đến lương bổng của đơn vị mình, người ấy chỉ cần liên hệ với bộ phận kế toán. Một người có thẩm quyền trong bộ phận kế toán sẽ cung cấp thông tin cần biết, nếu như thông tin ấy có thể chia sẻ được. Một người
- không có thẩm quyền từ một bộ phận khác thì không thể truy cập dữ liệu, hoặc không thể thay đổi làm hư hỏng dữ liệu. Ví dụ này minh chứng các đối tượng là hữu dụng trong việc phân cấp và tổ chức dữ liệu. Hình 1.1 Minh họa cấu trúc của một cơ quan điển hình. Phòng Nhân sự Phòng Kế toán Phòng Kinh doanh Hình 1.1 Khái niệm về đối tượng có thể được mở rộng đến hầu hết các lãnh vực đời sống, và hơn nữa, đến thế giới lập trình. Bất kỳ ứng dụng nào đều có thể được định nghĩa theo hạn từ thực thể hoặc đối tượng để tạo ra tiến trình xử lý mô phỏng theo tiến trình xử lý mà con người nghĩ ra. Phương pháp giải quyết ‘top-down’ (từ trên xuống) cũng còn được gọi là ‘lập trình hướng cấ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 đề đời thực. Để làm được việc này, phương thức 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 Top-Down 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 Chúng ta sẽ xây dựng một khách sạn với và phòng họp. 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à tiến 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 thuận lợi của việc Trừu tượng hóa Những thuận lợi 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 đòi hỏi. 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 khả 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 mẫu thực đượ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 đời thực. Con người Xe hơi Tên: Jack Kiểu: Ferrari Tuổi: 28 Màu: Đỏ Trọng lượng: 65 kgs Năm: 1995 Hành động: Hành động: Đi Khởi động Nói Ngưng Suy nghĩ 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 trường hợp (đố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: Các thuộc tính của lớp Con người Đối tượng được tạo từ lớp Con người Tên = Mark Chiều cao = 6 ft. 1 in. Màu tóc = Black
- 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 đòi hỏi của một đối tượng. Các hoạt động xác định các hành động được đòi hỏi 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ể đòi hỏi 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 một lớp. 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à một sự xác định về cách thức một hoạt động được yêu cầu được thực thi. 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 (step-by-step) 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, thông điệp này định nghĩa hoạt động. Đị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. Mức lương? Phòng Phòng Kinh doanh Kế toán $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ừ đời thực: ‘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 đòi hỏi 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ớ trong máy tính khi cần thiết. 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 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 đòi hỏi 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. Điểm thuận lợi 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 là trông 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’ tạo nên 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 Lương Kiểu xe bán được Điểm môn 2 Chức vụ 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 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ác động vật Côn trùng 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 Lớp Đường tròn Lớp Hình ảnh Lớp Vẽ một hình Khởi điểm Bán kính Hình ảnh Nhận hình vẽ Điểm tận Tâm điểm Vẽ hình ảnh Vẽ hình + + = Vẽ đường thẳng Vẽ đường tròn 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ức chỉ ứng dụng cho một đối tượng. Chẳng hạn xét toán tử ‘Cộng’. Toán tử này chỉ tính tổng của hai số nguyên. Khi truyền hai giá trị 2 và 3 thì nó hiển thị 5. Chúng ta không thể có một loại toán tử ‘Cộng’ để tính tổng của hai giá trị văn bản (text) ‘Hello!’ và ‘How are you?’ để có được chuỗi văn bản kết quả ‘Hello! How are you?’ Trong hệ thống hướng đối tượng thì tình huống mô tả trên là khả thể. Định nghĩa Tính đa hình cho phép một phương thức có các tác động khác nhau trên nhiều loại đối tượng khác nhau.
- Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau. Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số. Tính đa hình là một trong những đặc tính quan trọng nhất của hệ thống hướng đối tượng. Một ví dụ khác là phương thức hiển thị. Tùy thuộc vào đối tượng tác động, phương thức ấy có thể hiển thị một chuỗi, hoặc vẽ một đường thẳng, hoặc hiển thị một hình ảnh. Hãy khảo sát hình sau: Lớp: Hình thể Các lớp con Các phương thức: Vẽ Di chuyển Khởi tạo Hình 1.5: Lớp ‘Hình thể’ và các lớp con Hình trên cho thấy rằng ‘Vẽ’ là một phương thức được chia sẻ giữa các lớp con của lớp ‘Hình thể’. Tuy nhiên, phương thức Vẽ được ứng dụng cho hình hộp sẽ khác với hình êlip. Tính đa hình hỗ trợ tính đóng gói. Xét trên mức độ người sử dụng, họ chỉ cần một phương thức ‘Vẽ’ của lớp ‘Hình thể’. Còn cách thức mà phương thức ‘Vẽ’ được thực thi cho các trường hợp khác nhau thì họ không cần biết. 1.11 Những thuận lợi của Phương pháp hướng Đối tượng Lập trình hướng đối tượng đòi hỏi một sự chuyển hướng quan trọng trong tư duy của các lập trình viên. Phương pháp này làm cho tốc độ phát triển các chương trình mới nhanh hơn, và nếu được sử dụng cách đúng đắn phương pháp này sẽ cải tiến việc duy trì, việc tái sử dụng và việc đánh giá phần mềm. Những điểm thuận lợi của phương pháp hướng đối tượng là: Phương pháp này tiến hành tiến trình phân tích, thiết kế và phát triển một vấn đề trong khuôn khổ những khái niệm và thuật ngữ thuộc lãnh vực ứng dụng. Vì thế, có một sự tương hợp cao nhất giữa việc phát triển ứng dụng và vấn đề thực tế.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lập trình Java - chương 1
24 p | 299 | 229
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 1
51 p | 426 | 123
-
Ebook Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng: Phần 1 – TS. Dương Tử Cường
209 p | 88 | 53
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 2
51 p | 104 | 48
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 4
51 p | 92 | 43
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 3
51 p | 105 | 43
-
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
31 p | 76 | 38
-
Ebook Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng: Phần 2 – TS. Dương Tử Cường
296 p | 66 | 37
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 5
51 p | 87 | 30
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 10
46 p | 65 | 27
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 8
51 p | 67 | 26
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 9
51 p | 71 | 26
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 7
51 p | 72 | 25
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 6
51 p | 71 | 25
-
Đề thi cuối kỳ môn Phân tích thiết kế hệ thống hướng đối tượng - ĐH Văn Lang
4 p | 90 | 21
-
Chương 4- Phương pháp hướng đối tượng
41 p | 51 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Giới thiệu
10 p | 30 | 9
-
Bài giảng Lập trình hướng đối tượng: Chương 7 - Trần Minh Thái
54 p | 16 | 2

markdown:
# Lập trình Corel - Chương 1: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Chia sẻ: Mai Trần Thúy Hạnh | Ngày: | Loại File: PDF | Số trang:24
lượt xem 133
download
![](http://image1.tailieu.vn/document/thumbnail/2009/20090925/maithuyhanh/80x100/lap_trinh_corel_chuong_1_0804.jpg)
##
Lập trình Corel - Chương 1: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static1.tailieu.vn/b2013az/templates/version1/default/images/down16x21.png)
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.
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: Lập trình Corel - Chương 1: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- Chương 1 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mục tiêu Kết thúc chương, học viên có thể: Định nghĩa Lập trình hướng Đối tượng (Object-oriented 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. 1.1 Giới thiệu về Lập trình hướng Đối tượng (Object-oriented Programming) 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. Mỗi vấn đề được chia ra thành nhiều yếu tố, được gọi là các Đối tượng (Objects) hoặc các Thực thể (Entities). Chẳng hạn như ở ví dụ trên, khách hàng, xe hơi và nhân viên bán hàng là những đối tượng hoặc thực thể. Lập trình viên luôn luôn cố gắng tạo ra những kịch bản (scenarios) thật quen thuộc với những tình huống đời sống thực. Bước thứ nhất trong đường hướng này là làm cho máy tính liên kết với những đối tượng thế giới thực. Tuy nhiên, máy tính chỉ là một cỗ máy. Nó chỉ thực hiện những công việc được lập trình mà thôi. Vì thế, trách nhiệm của lập trình viên là cung cấp cho máy tính những thông tin theo cách thức mà nó cũng nhận thức được cùng những thực thể như chúng ta nhận thức. Đó chính là lãnh vực của kỹ thuật hướng đối tượng. Chúng ta sử dụng kỹ thuật hướng đối tượng để ánh xạ những thực thể chúng ta gặp phải trong đời sống thực thành những thực thể tương tự trong máy tính. Phát triển phần mềm theo kỹ thuật lập trình hướng đối tượng có khả năng giảm thiểu sự lẫn lộn thường xảy ra giữa hệ thống và lãnh vực ứng dụng. Lập trình hướng đối tượng đề cập đến dữ liệu và thủ tục xử lý dữ liệu theo quan điểm là một đối tượng duy nhất. Lập trình hướng đối tượng xem xét dữ liệu như là một thực thể hay là một đơn vị độc lập, với bản chất riêng và những đặc tính của thực thể ấy. Bây giờ chúng ta hãy khảo sát những hạn từ ‘đối tượng’ (object), ‘dữ liệu’ (data) và ‘phương thức’ (method). Có nhiều loại đối tượng khác nhau. Chúng ta có thể xem các bộ phận khác nhau trong một cơ quan là các đối tượng. Điển hình là một cơ quan có những bộ phận liên quan đến việc quản trị, đến việc kinh doanh, đến việc kế toán, đến việc tiếp thị … Mỗi bộ phận có nhân sự riêng, các nhân sự được trao cho những trách nhiệm rõ ràng. Mỗi bộ phận cũng có những dữ liệu riêng chẳng hạn như thông tin cá nhân, bảng kiểm kê, những thể thức kinh doanh, hoặc bất kỳ dữ liệu nào liên quan đến chức năng của bộ phận đó. Rõ ràng là một cơ quan được chia thành nhiều bộ phận thì việc quản trị nhân sự và những hoạt động doanh nghiệp dễ dàng hơn. Nhân sự của cơ quan điều khiển và xử lý dữ liệu liên quan đến bộ phận của mình. Chẳng hạn như bộ phận kế toán chịu trách nhiệm về lương bổng đối với cơ quan. Nếu một người ở đơn vị tiếp thị cần những chi tiết liên quan đến lương bổng của đơn vị mình, người ấy chỉ cần liên hệ với bộ phận kế toán. Một người có thẩm quyền trong bộ phận kế toán sẽ cung cấp thông tin cần biết, nếu như thông tin ấy có thể chia sẻ được. Một người
- không có thẩm quyền từ một bộ phận khác thì không thể truy cập dữ liệu, hoặc không thể thay đổi làm hư hỏng dữ liệu. Ví dụ này minh chứng các đối tượng là hữu dụng trong việc phân cấp và tổ chức dữ liệu. Hình 1.1 Minh họa cấu trúc của một cơ quan điển hình. Phòng Nhân sự Phòng Kế toán Phòng Kinh doanh Hình 1.1 Khái niệm về đối tượng có thể được mở rộng đến hầu hết các lãnh vực đời sống, và hơn nữa, đến thế giới lập trình. Bất kỳ ứng dụng nào đều có thể được định nghĩa theo hạn từ thực thể hoặc đối tượng để tạo ra tiến trình xử lý mô phỏng theo tiến trình xử lý mà con người nghĩ ra. Phương pháp giải quyết ‘top-down’ (từ trên xuống) cũng còn được gọi là ‘lập trình hướng cấ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 đề đời thực. Để làm được việc này, phương thức 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 Top-Down 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 Chúng ta sẽ xây dựng một khách sạn với và phòng họp. 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à tiến 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 thuận lợi của việc Trừu tượng hóa Những thuận lợi 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 đòi hỏi. 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 khả 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 mẫu thực đượ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 đời thực. Con người Xe hơi Tên: Jack Kiểu: Ferrari Tuổi: 28 Màu: Đỏ Trọng lượng: 65 kgs Năm: 1995 Hành động: Hành động: Đi Khởi động Nói Ngưng Suy nghĩ 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 trường hợp (đố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: Các thuộc tính của lớp Con người Đối tượng được tạo từ lớp Con người Tên = Mark Chiều cao = 6 ft. 1 in. Màu tóc = Black
- 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 đòi hỏi của một đối tượng. Các hoạt động xác định các hành động được đòi hỏi 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ể đòi hỏi 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 một lớp. 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à một sự xác định về cách thức một hoạt động được yêu cầu được thực thi. 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 (step-by-step) 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, thông điệp này định nghĩa hoạt động. Đị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. Mức lương? Phòng Phòng Kinh doanh Kế toán $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ừ đời thực: ‘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 đòi hỏi 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ớ trong máy tính khi cần thiết. 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 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 đòi hỏi 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. Điểm thuận lợi 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 là trông 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’ tạo nên 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 Lương Kiểu xe bán được Điểm môn 2 Chức vụ 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 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ác động vật Côn trùng 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 Lớp Đường tròn Lớp Hình ảnh Lớp Vẽ một hình Khởi điểm Bán kính Hình ảnh Nhận hình vẽ Điểm tận Tâm điểm Vẽ hình ảnh Vẽ hình + + = Vẽ đường thẳng Vẽ đường tròn 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ức chỉ ứng dụng cho một đối tượng. Chẳng hạn xét toán tử ‘Cộng’. Toán tử này chỉ tính tổng của hai số nguyên. Khi truyền hai giá trị 2 và 3 thì nó hiển thị 5. Chúng ta không thể có một loại toán tử ‘Cộng’ để tính tổng của hai giá trị văn bản (text) ‘Hello!’ và ‘How are you?’ để có được chuỗi văn bản kết quả ‘Hello! How are you?’ Trong hệ thống hướng đối tượng thì tình huống mô tả trên là khả thể. Định nghĩa Tính đa hình cho phép một phương thức có các tác động khác nhau trên nhiều loại đối tượng khác nhau.
- Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau. Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số. Tính đa hình là một trong những đặc tính quan trọng nhất của hệ thống hướng đối tượng. Một ví dụ khác là phương thức hiển thị. Tùy thuộc vào đối tượng tác động, phương thức ấy có thể hiển thị một chuỗi, hoặc vẽ một đường thẳng, hoặc hiển thị một hình ảnh. Hãy khảo sát hình sau: Lớp: Hình thể Các lớp con Các phương thức: Vẽ Di chuyển Khởi tạo Hình 1.5: Lớp ‘Hình thể’ và các lớp con Hình trên cho thấy rằng ‘Vẽ’ là một phương thức được chia sẻ giữa các lớp con của lớp ‘Hình thể’. Tuy nhiên, phương thức Vẽ được ứng dụng cho hình hộp sẽ khác với hình êlip. Tính đa hình hỗ trợ tính đóng gói. Xét trên mức độ người sử dụng, họ chỉ cần một phương thức ‘Vẽ’ của lớp ‘Hình thể’. Còn cách thức mà phương thức ‘Vẽ’ được thực thi cho các trường hợp khác nhau thì họ không cần biết. 1.11 Những thuận lợi của Phương pháp hướng Đối tượng Lập trình hướng đối tượng đòi hỏi một sự chuyển hướng quan trọng trong tư duy của các lập trình viên. Phương pháp này làm cho tốc độ phát triển các chương trình mới nhanh hơn, và nếu được sử dụng cách đúng đắn phương pháp này sẽ cải tiến việc duy trì, việc tái sử dụng và việc đánh giá phần mềm. Những điểm thuận lợi của phương pháp hướng đối tượng là: Phương pháp này tiến hành tiến trình phân tích, thiết kế và phát triển một vấn đề trong khuôn khổ những khái niệm và thuật ngữ thuộc lãnh vực ứng dụng. Vì thế, có một sự tương hợp cao nhất giữa việc phát triển ứng dụng và vấn đề thực tế.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lập trình Java - chương 1
24 p |
299 |
229
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 1
51 p |
426 |
123
-
Ebook Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng: Phần 1 – TS. Dương Tử Cường
209 p |
88 |
53
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 2
51 p |
104 |
48
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 4
51 p |
92 |
43
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 3
51 p |
105 |
43
-
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
31 p |
76 |
38
-
Ebook Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng: Phần 2 – TS. Dương Tử Cường
296 p |
66 |
37
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 5
51 p |
87 |
30
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 10
46 p |
65 |
27
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 8
51 p |
67 |
26
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 9
51 p |
71 |
26
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 7
51 p |
72 |
25
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 6
51 p |
71 |
25
-
Đề thi cuối kỳ môn Phân tích thiết kế hệ thống hướng đối tượng - ĐH Văn Lang
4 p |
90 |
21
-
Chương 4- Phương pháp hướng đối tượng
41 p |
51 |
12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Giới thiệu
10 p |
30 |
9
-
Bài giảng Lập trình hướng đối tượng: Chương 7 - Trần Minh Thái
54 p |
16 |
2

Server: Apache/2.2.31 (CentOS)

Set-Cookie: TLDEVNamespace=90dkju46nc84appik1oei0j8d3; path=/; domain=.tailieu.vn; HttpOnly


text:
Phân phối tài nguyên
-
Tiếp nối phần 1, phần 2 cuốn giáo trình này tiếp tục đề cập đến 5 chương sau: Sơ đồ mạng MPM, phân phối tài nguyên, thời gian và giá thành, tin học trong sơ đồ mạng, sử dụng phần mềm Microsoft Project trong việc lập tiến độ xây dựng. Hi vọng đây là tài liệu tham khảo hữu ích cho các kỹ sư, các cán bộ kỹ thuật đang công tác trong lĩnh vực xây dựng cơ bản và đông đảo bạn đọc có quan tâm đến sơ đồ mạng.
80p uocvong08 24-10-2015 71 38 Download
-
Nội dung bài giảng: tổng quát về kênh phân phối . Các thành viên của kênh phân phối tổ chức kênh phân phối , mâu thuẫn trong kênh phân phối . Các quyết định thiết kế kênh phân phối và các quyết định quản trị kênh phân phối . Các quyết định kho vận.
12p esc_12 29-07-2013 34 9 Download
-
Sử dụng nước tiết kiệm và hiệu quả, khai thác, sử dụng tài nguyên nước, điều hòa ,phân phối tài nguyên nước là những nội dung chính trong chương 4 "Khai thác, sử dụng tài nguyên nước" thuộc bài thuyết trình về Luật tài nguyên nước. Mời các bạn cùng tham khảo để có thêm tài liệu phục vụ nhu cầu học tập và nghiên cứu.
31p hoanghaia10 30-12-2015 30 7 Download
-
Chiến lược phân phối Là tập hợp các nguyên tắc nhờ đó các doanh nghiệp có thể đạt mục tiêu phân phối trên thị trường mục tiêu. Tài liệu tham khảo dành cho các bạn nâng cao kiến thức của mình.
32p hongtham1d 19-04-2011 2172 812 Download
-
Rừng là tài nguyên vô cùng quí giá,nó có vai trò hết sức quan trọng đối với các sinh vật và hoạt động sống của con người.Là lá phổi của khí quyển,đồng thời cũng cung cấp cho con người nhiều giá trị. Nhưng ngày nay,việc khai thác và sử dụng tài nguyên rừng bất hợp lý đang làm cho diện tích rừng ngày một thu hẹp,làm phá huỷ hệ sinh thái rừng .Và đây cũng là nguyên nhân dẫn đến việc biến đổi khí hậu trong thời gian qua.
70p daisy15 04-08-2010 954 367 Download
-
Bài giảng Hệ thống phân phối khí trình bày yêu cầu của hệ thống phân phối khí, nguyên lý hoạt động của hệ thống phân phối khí ở động cơ 2 kì, các kiểu cơ cấu phân phối khí ở động cơ 2 kỳ, các kiểu cơ cấu phân phối khi dùng động cơ 4 kỳ, kiểu xupap treo, kiểu xupap đặt, nguyên lý làm việc của xupap đặt. Đây là tài liệu tham khảo và học tập dành cho sinh viên ngành Cơ khí - chế tạo máy.
20p lanamtrongla24 20-05-2014 286 92 Download
-
Luận văn tốt nghiệp "Một giải pháp toán học cho việc phân phối tài nguyên trong độ tin cậy phần mềm"
Trong vài thập niên gần đây, cùng với sự xuất hiện của máy tính, các phần mềm hỗ trợ xử lý công việc cho người sử dụng cũng gia tăng theo cả về số lượng cũng như chất lượng. Trong công việc hằng ngày, hầu như ai cũng dựa vào máy tính để gia tăng hiệu suất công việc. Nhu cầu người sử dụng ngày càng tăng cao, đòi hỏi công nghệ và các phần mềm phục vụ cho con người cũng phát triển không ngừng...
94p thuyha 24-06-2009 258 67 Download
-
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU TÍNH TOÁN THỦY VĂN 1.1. NỘI DUNG NGHIÊN CỨU Tính toán thủy văn là một phần quan trọng của thủy văn học liên quan chặt chẽ với những nhu cầu thực tế của nền kinh tế quốc dân nhằm giải quyết các vấn đề điều hòa và phân phối tài nguyên nước. Tính toán thủy văn làm nhiệm vụ cầu nối giữa các nghiên cứu lý thuyết trong lĩnh vực thủy văn và các vấn đề thực tiễn sử dụng tài nguyên nước.
15p doquyenhong 26-10-2011 66 26 Download
-
Bài giảng "Thiết kế và xây dựng cầu 1 - Chương 6: Tính nội lực cầu dầm BTCT nhịp giản đơn (P4)" cung cấp cho người học các kiến thức phần tính hệ số phân phối tải trọng, tính nội lực dầm chủ. Mời các bạn cùng tham khảo nội dung chi tiết.
21p doinhugiobay_13 24-01-2016 25 10 Download
-
Điều nghiên: Thu thập thông tin để h/định chiến lược • Cổ động: phổ biến thông tin có sức thuyết phục cao . • Tiếp xúc: Tìm ra và thông tin với KH tương lai. • Phân chia, đóng gói, phân loại hàng. • Thương lượng: về giá cả và các vấn đề khác. • Tài trợ: cấp tín dụng cho khách hàng. • Chấp nhận các rủi ro
7p esc_12 29-07-2013 36 6 Download
-
Bài giảng Tài chính tiền tệ: Chương 12 - Bảo hiểm thương mại trang bị cho các bạn những kiến thức về b̉an chất, vai trò của bảo hiểm; phân loại bảo hiểm; nguyên tắc hoạt động bảo hiểm; cơ chế phân phối tài chính trong hoạt động bảo hiểm; doanh thu và chi phí hoạt động kinh doanh bảo hiểm.
14p cocacola_04 20-10-2015 31 6 Download
-
Tóm tắt luận văn Thạc sĩ Quản trị kinh doanh: Hoàn thiện công tác quản trị kênh phân phối của Công ty Cổ phần Bia Sài Gòn Tây Nguyên tại Đăk Lăk
Đề tài hệ thống hóa cơ sở lý luận về quản trị kênh phân phối; làm rõ thực trạng công tác quản trị kênh phân phối của Công ty Cổ phần bia Sài Gòn Tây Nguyên; đề xuất các giải pháp hoàn thiện công tác quản trị kênh phân phối tại công Công ty Cổ phần bia Sài Gòn Tây Nguyên.
26p bautroibinhyen24 20-04-2017 2 2 Download
-
Đề tài: "Chiến lược phân phối của cà phê Trung Nguyên như thế nào, để trong vòng 5 năm đã có mặt tại mọi miền đất nước. Và đâu là thành công và thất bại trong chiến lược phân phối của Trung Nguyên"
Tham khảo luận văn - đề án 'đề tài: "chiến lược phân phối của cà phê trung nguyên như thế nào, để trong vòng 5 năm đã có mặt tại mọi miền đất nước. và đâu là thành công và thất bại trong chiến lược phân phối của trung nguyên"', luận văn - báo cáo phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
61p hongtham1d 03-05-2011 2697 1032 Download
-
Đường Biên Hòa có hệ thống phân phối sản phẩm trải đều trên cả nước, bao gồm hơn 100 đơn vị sản xuất sử dụng đường làm nguyên liệu đầu vào và trên 130 nhà phân phối, đại lý, siêu thị trực tiếp bán sỉ, bán lẻ trên thị trường tiêu dùng. Thị trường xuất khẩu của Công ty là một số nước trong khối ASEAN, Trung Quốc và Iraq.
21p quanghuy44a 06-05-2011 864 337 Download
-
Phân phối theo lao động là hình thức phân phối căn bản, là nguyên tắc phân phối chủ yếu thích hợp nhất với các thành phần kinh tế dựa trên chế độ sở hữu công hữu về tư liệu sản xuất. Do đó dựa trên cơ sở của chế độ công hữu về tư liệu sản xuất mà chế độ người bóc lột người bị xoá bỏ.Người lao động làm chủ những tư liệu sản xuất nên tất yếu cũng làm chủ phân phối theo thu nhập .
29p emilynguyen 08-07-2009 805 233 Download
-
Du lịch là một ngành kinh tế đem lại nhiều lợi nhuận, nó góp phần thúc đẩy sự phát triển kinh tế - xã hội của đất nước. Một phần rất quan trọng và không thể thiếu được trong du lịch đó chính là tài nguyên du lịch, sự phối hợp giữa tài nguyên du lịch với các thành phần khác để tạo ra sản phẩm du lịch phục vụ du khách đem lại hiệu quả kinh tế...
36p hoangdinhbook 30-04-2011 413 176 Download
-
Báo cáo đề tài:" hoàn thiện chính sách phân phối sản phẩm của công ty cổ phần nước khoáng Khánh Hòa"
Trong nền kinh tế thị trường hiện nay, người tiêu dùng Việt Nam rất khó định hướng trong quyết định mua hàng, vì phải đối mặt với hàng loạt sản phẩm có tính năng tương tự, đồng thời với các chương trình khuyến mãi ồ ạt và quảng cáo rầm rộ…Và làm thế nào để các doanh nghiệp có thể cạnh tranh với nhau? Đó là dựa vào kênh phân phối theo Th.S Nguyễn Khánh Trung, giảng viên Bộ môn Quản trị kinh doanh, khoa Kinh tế - Luật, Đại học Quốc gia Tp.
131p daihocmarketing7 13-08-2012 197 117 Download
-
1 - Hệ điều hành là phần mềm? [a]--Luôn luôn phải có để máy tính hoạt động [b]--Điều khiển thiết bị phần cứng [c]--Quản lý và phân phối tài nguyên máy tính phục vụ cho các ứng dụng.2 - Việc truyền thông số từ chương trình ứng dụng đến hệ điều hành có thể thực hiện bằng cách lưu thông số trong? [a]--Các thanh ghi và stack [b]--Vùng nhớ trong bộ nhớ chính [c]--Tất cả các câu trên đều đúng...
26p dnhung01 17-10-2012 290 116 Download
-
Là văn bản đưa ra những nguyên tắc cơ bản, hướng dẫn về “Thực hành tốt phân phối thuốc”, nêu lên các yêu cầu cần thiết cho việc vận chuyển, bảo quản, phân phối thuốc để đảm bảo cung cấp thuốc đến tay người tiêu dùng một cách kịp thời, đầy đủ và có chất lượng như dự kiến.Nêu lên các yêu cầu cho vậ chuyển, bảo quản,phân phối thuốc
17p huuvuong2890 23-04-2011 301 92 Download
-
ĐÁNH GIÁ TÀI NGUYÊN NƯỚC VIỆT NAM Nguyễn Thanh Sơn NXB GIÁO DỤC 2005 Từ khoá: Lưu vực, sông ngòi, đo đcạc, tần suất, chuẩn dòng chảy năm, mặt dệm, dao động dòng chảy năm, phân phối dòng chảy năm, cường độ tới hạn, vi phân, dòng chảy kiệt, tài nguyên nước, môi trường, phát triển bền vững, các hệ thống sông Tài liệu trong Thư viện điện tử Đại học Khoa học Tự nhiên
16p xingau5 14-08-2011 168 79 Download
CHỦ ĐỀ BẠN MUỐN TÌM
- Luận văn kênh phân phối
- Luận văn quản trị kênh phân phối
- Luật thuế tài nguyên
- Hệ thống phân phối khí
- Tài nguyên biển
- Chiến lược phân phối
- Kênh phân phối
- Xây dựng hệ thống phân phối
- Chiến lược giá và phân phối
- Tài nguyên đất
- Quản lý tài nguyên nước
- Tài nguyên năng lượng
- Tài nguyên rừng
- Chiến lược phân phối sản phẩm
- Cơ cấu phân phối khí xupap đặt
- Đại lượng ngẫu nhiên và phân phối xác suất
- Phân loại tài nguyên thiên nhiên
- Phân phối nhị thức
- Quản trị kênh phân phối
- Tài nguyên không tái sinh

markdown:
# Phân phối tài nguyên
**Phân phối tài nguyên**
-
Tiếp nối phần 1, phần 2 cuốn giáo trình này tiếp tục đề cập đến 5 chương sau: Sơ đồ mạng MPM, phân phối tài nguyên, thời gian và giá thành, tin học trong sơ đồ mạng, sử dụng phần mềm Microsoft Project trong việc lập tiến độ xây dựng. Hi vọng đây là tài liệu tham khảo hữu ích cho các kỹ sư, các cán bộ kỹ thuật đang công tác trong lĩnh vực xây dựng cơ bản và đông đảo bạn đọc có quan tâm đến sơ đồ mạng.
80p
uocvong08
24-10-2015
71
38
Download
-
Nội dung bài giảng: tổng quát về kênh phân phối . Các thành viên của kênh phân phối tổ chức kênh phân phối , mâu thuẫn trong kênh phân phối . Các quyết định thiết kế kênh phân phối và các quyết định quản trị kênh phân phối . Các quyết định kho vận.
12p
esc_12
29-07-2013
34
9
Download
-
Sử dụng nước tiết kiệm và hiệu quả, khai thác, sử dụng tài nguyên nước, điều hòa ,phân phối tài nguyên nước là những nội dung chính trong chương 4 "Khai thác, sử dụng tài nguyên nước" thuộc bài thuyết trình về Luật tài nguyên nước. Mời các bạn cùng tham khảo để có thêm tài liệu phục vụ nhu cầu học tập và nghiên cứu.
31p
hoanghaia10
30-12-2015
30
7
Download
-
Chiến lược phân phối Là tập hợp các nguyên tắc nhờ đó các doanh nghiệp có thể đạt mục tiêu phân phối trên thị trường mục tiêu. Tài liệu tham khảo dành cho các bạn nâng cao kiến thức của mình.
32p
hongtham1d
19-04-2011
2172
812
Download
-
Rừng là tài nguyên vô cùng quí giá,nó có vai trò hết sức quan trọng đối với các sinh vật và hoạt động sống của con người.Là lá phổi của khí quyển,đồng thời cũng cung cấp cho con người nhiều giá trị. Nhưng ngày nay,việc khai thác và sử dụng tài nguyên rừng bất hợp lý đang làm cho diện tích rừng ngày một thu hẹp,làm phá huỷ hệ sinh thái rừng .Và đây cũng là nguyên nhân dẫn đến việc biến đổi khí hậu trong thời gian qua.
70p
daisy15
04-08-2010
954
367
Download
-
Bài giảng Hệ thống phân phối khí trình bày yêu cầu của hệ thống phân phối khí, nguyên lý hoạt động của hệ thống phân phối khí ở động cơ 2 kì, các kiểu cơ cấu phân phối khí ở động cơ 2 kỳ, các kiểu cơ cấu phân phối khi dùng động cơ 4 kỳ, kiểu xupap treo, kiểu xupap đặt, nguyên lý làm việc của xupap đặt. Đây là tài liệu tham khảo và học tập dành cho sinh viên ngành Cơ khí - chế tạo máy.
20p
lanamtrongla24
20-05-2014
286
92
Download
-
[Luận văn tốt nghiệp "Một giải pháp toán học cho việc phân phối tài nguyên trong độ tin cậy phần mềm"](http://tailieu.vn/doc/luan-van-tot-nghiep-mot-giai-phap-toan-hoc-cho-viec-phan-phoi-tai-nguyen-trong-do-tin-cay-phan-mem--30948.html)
Trong vài thập niên gần đây, cùng với sự xuất hiện của máy tính, các phần mềm hỗ trợ xử lý công việc cho người sử dụng cũng gia tăng theo cả về số lượng cũng như chất lượng. Trong công việc hằng ngày, hầu như ai cũng dựa vào máy tính để gia tăng hiệu suất công việc. Nhu cầu người sử dụng ngày càng tăng cao, đòi hỏi công nghệ và các phần mềm phục vụ cho con người cũng phát triển không ngừng...
94p
thuyha
24-06-2009
258
67
Download
-
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU TÍNH TOÁN THỦY VĂN 1.1. NỘI DUNG NGHIÊN CỨU Tính toán thủy văn là một phần quan trọng của thủy văn học liên quan chặt chẽ với những nhu cầu thực tế của nền kinh tế quốc dân nhằm giải quyết các vấn đề điều hòa và phân phối tài nguyên nước. Tính toán thủy văn làm nhiệm vụ cầu nối giữa các nghiên cứu lý thuyết trong lĩnh vực thủy văn và các vấn đề thực tiễn sử dụng tài nguyên nước.
15p
doquyenhong
26-10-2011
66
26
Download
-
Bài giảng "Thiết kế và xây dựng cầu 1 - Chương 6: Tính nội lực cầu dầm BTCT nhịp giản đơn (P4)" cung cấp cho người học các kiến thức phần tính hệ số phân phối tải trọng, tính nội lực dầm chủ. Mời các bạn cùng tham khảo nội dung chi tiết.
21p
doinhugiobay_13
24-01-2016
25
10
Download
-
Điều nghiên: Thu thập thông tin để h/định chiến lược • Cổ động: phổ biến thông tin có sức thuyết phục cao . • Tiếp xúc: Tìm ra và thông tin với KH tương lai. • Phân chia, đóng gói, phân loại hàng. • Thương lượng: về giá cả và các vấn đề khác. • Tài trợ: cấp tín dụng cho khách hàng. • Chấp nhận các rủi ro
7p
esc_12
29-07-2013
36
6
Download
-
Bài giảng Tài chính tiền tệ: Chương 12 - Bảo hiểm thương mại trang bị cho các bạn những kiến thức về b̉an chất, vai trò của bảo hiểm; phân loại bảo hiểm; nguyên tắc hoạt động bảo hiểm; cơ chế phân phối tài chính trong hoạt động bảo hiểm; doanh thu và chi phí hoạt động kinh doanh bảo hiểm.
14p
cocacola_04
20-10-2015
31
6
Download
-
[Tóm tắt luận văn Thạc sĩ Quản trị kinh doanh: Hoàn thiện công tác quản trị kênh phân phối của Công ty Cổ phần Bia Sài Gòn Tây Nguyên tại Đăk Lăk](http://tailieu.vn/doc/tom-tat-luan-van-thac-si-quan-tri-kinh-doanh-hoan-thien-cong-tac-quan-tri-kenh-phan-phoi-cua-cong-t-1947373.html)
Đề tài hệ thống hóa cơ sở lý luận về quản trị kênh phân phối; làm rõ thực trạng công tác quản trị kênh phân phối của Công ty Cổ phần bia Sài Gòn Tây Nguyên; đề xuất các giải pháp hoàn thiện công tác quản trị kênh phân phối tại công Công ty Cổ phần bia Sài Gòn Tây Nguyên.
26p
bautroibinhyen24
20-04-2017
2
2
Download
-
[Đề tài: "Chiến lược phân phối của cà phê Trung Nguyên như thế nào, để trong vòng 5 năm đã có mặt tại mọi miền đất nước. Và đâu là thành công và thất bại trong chiến lược phân phối của Trung Nguyên"](http://tailieu.vn/doc/de-tai-chien-luoc-phan-phoi-cua-ca-phe-trung-nguyen-nhu-the-nao-de-trong-vong-5-nam-da-co-mat-tai-581678.html)
Tham khảo luận văn - đề án 'đề tài: "chiến lược phân phối của cà phê trung nguyên như thế nào, để trong vòng 5 năm đã có mặt tại mọi miền đất nước. và đâu là thành công và thất bại trong chiến lược phân phối của trung nguyên"', luận văn - báo cáo phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
61p
hongtham1d
03-05-2011
2697
1032
Download
-
Đường Biên Hòa có hệ thống phân phối sản phẩm trải đều trên cả nước, bao gồm hơn 100 đơn vị sản xuất sử dụng đường làm nguyên liệu đầu vào và trên 130 nhà phân phối, đại lý, siêu thị trực tiếp bán sỉ, bán lẻ trên thị trường tiêu dùng. Thị trường xuất khẩu của Công ty là một số nước trong khối ASEAN, Trung Quốc và Iraq.
21p
quanghuy44a
06-05-2011
864
337
Download
-
Phân phối theo lao động là hình thức phân phối căn bản, là nguyên tắc phân phối chủ yếu thích hợp nhất với các thành phần kinh tế dựa trên chế độ sở hữu công hữu về tư liệu sản xuất. Do đó dựa trên cơ sở của chế độ công hữu về tư liệu sản xuất mà chế độ người bóc lột người bị xoá bỏ.Người lao động làm chủ những tư liệu sản xuất nên tất yếu cũng làm chủ phân phối theo thu nhập .
29p
emilynguyen
08-07-2009
805
233
Download
-
Du lịch là một ngành kinh tế đem lại nhiều lợi nhuận, nó góp phần thúc đẩy sự phát triển kinh tế - xã hội của đất nước. Một phần rất quan trọng và không thể thiếu được trong du lịch đó chính là tài nguyên du lịch, sự phối hợp giữa tài nguyên du lịch với các thành phần khác để tạo ra sản phẩm du lịch phục vụ du khách đem lại hiệu quả kinh tế...
36p
hoangdinhbook
30-04-2011
413
176
Download
-
[Báo cáo đề tài:" hoàn thiện chính sách phân phối sản phẩm của công ty cổ phần nước khoáng Khánh Hòa"](http://tailieu.vn/doc/bao-cao-de-tai-hoan-thien-chinh-sach-phan-phoi-san-pham-cua-cong-ty-co-phan-nuoc-khoang-khanh-hoa--1226057.html)
Trong nền kinh tế thị trường hiện nay, người tiêu dùng Việt Nam rất khó định hướng trong quyết định mua hàng, vì phải đối mặt với hàng loạt sản phẩm có tính năng tương tự, đồng thời với các chương trình khuyến mãi ồ ạt và quảng cáo rầm rộ…Và làm thế nào để các doanh nghiệp có thể cạnh tranh với nhau? Đó là dựa vào kênh phân phối theo Th.S Nguyễn Khánh Trung, giảng viên Bộ môn Quản trị kinh doanh, khoa Kinh tế - Luật, Đại học Quốc gia Tp.
131p
daihocmarketing7
13-08-2012
197
117
Download
-
1 - Hệ điều hành là phần mềm? [a]--Luôn luôn phải có để máy tính hoạt động [b]--Điều khiển thiết bị phần cứng [c]--Quản lý và phân phối tài nguyên máy tính phục vụ cho các ứng dụng.2 - Việc truyền thông số từ chương trình ứng dụng đến hệ điều hành có thể thực hiện bằng cách lưu thông số trong? [a]--Các thanh ghi và stack [b]--Vùng nhớ trong bộ nhớ chính [c]--Tất cả các câu trên đều đúng...
26p
dnhung01
17-10-2012
290
116
Download
-
Là văn bản đưa ra những nguyên tắc cơ bản, hướng dẫn về “Thực hành tốt phân phối thuốc”, nêu lên các yêu cầu cần thiết cho việc vận chuyển, bảo quản, phân phối thuốc để đảm bảo cung cấp thuốc đến tay người tiêu dùng một cách kịp thời, đầy đủ và có chất lượng như dự kiến.Nêu lên các yêu cầu cho vậ chuyển, bảo quản,phân phối thuốc
17p
huuvuong2890
23-04-2011
301
92
Download
-
ĐÁNH GIÁ TÀI NGUYÊN NƯỚC VIỆT NAM Nguyễn Thanh Sơn NXB GIÁO DỤC 2005 Từ khoá: Lưu vực, sông ngòi, đo đcạc, tần suất, chuẩn dòng chảy năm, mặt dệm, dao động dòng chảy năm, phân phối dòng chảy năm, cường độ tới hạn, vi phân, dòng chảy kiệt, tài nguyên nước, môi trường, phát triển bền vững, các hệ thống sông Tài liệu trong Thư viện điện tử Đại học Khoa học Tự nhiên
16p
xingau5
14-08-2011
168
79
Download
## CHỦ ĐỀ BẠN MUỐN TÌM
[Luận văn kênh phân phối](http://tailieu.vn/tag/luan-van-kenh-phan-phoi.html) [Luận văn quản trị kênh phân phối](http://tailieu.vn/tag/luan-van-quan-tri-kenh-phan-phoi.html) [Luật thuế tài nguyên](http://tailieu.vn/tag/luat-thue-tai-nguyen.html) [Hệ thống phân phối khí](http://tailieu.vn/tag/he-thong-phan-phoi-khi.html) [Tài nguyên biển](http://tailieu.vn/tag/tai-nguyen-bien.html) [Chiến lược phân phối](http://tailieu.vn/tag/chien-luoc-phan-phoi.html) [Kênh phân phối](http://tailieu.vn/tag/kenh-phan-phoi.html) [Xây dựng hệ thống phân phối](http://tailieu.vn/tag/xay-dung-he-thong-phan-phoi.html) [Chiến lược giá và phân phối](http://tailieu.vn/tag/chien-luoc-gia-va-phan-phoi.html) [Tài nguyên đất](http://tailieu.vn/tag/tai-nguyen-dat.html) [Quản lý tài nguyên nước](http://tailieu.vn/tag/quan-ly-tai-nguyen-nuoc.html) [Tài nguyên năng lượng](http://tailieu.vn/tag/tai-nguyen-nang-luong.html) [Tài nguyên rừng](http://tailieu.vn/tag/tai-nguyen-rung.html) [Chiến lược phân phối sản phẩm](http://tailieu.vn/tag/chien-luoc-phan-phoi-san-pham.html) [Cơ cấu phân phối khí xupap đặt](http://tailieu.vn/tag/co-cau-phan-phoi-khi-xupap-dat.html) [Đại lượng ngẫu nhiên và phân phối xác suất](http://tailieu.vn/tag/dai-luong-ngau-nhien-va-phan-phoi-xac-suat.html) [Phân loại tài nguyên thiên nhiên](http://tailieu.vn/tag/phan-loai-tai-nguyen-thien-nhien.html) [Phân phối nhị thức](http://tailieu.vn/tag/phan-phoi-nhi-thuc.html) [Quản trị kênh phân phối](http://tailieu.vn/tag/quan-tri-kenh-phan-phoi.html) [Tài nguyên không tái sinh](http://tailieu.vn/tag/tai-nguyen-khong-tai-sinh.html)

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: application/xhtml+xml

Connection: close

Pragma: no-cache

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Set-Cookie: TLDEVNamespace=mvheifjse6j3ldkj1cblre8kg3; path=/; domain=.tailieu.vn; HttpOnly

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


text:
Địa chỉ tư vấn, xét nghiệm HIV tại Quảng Ninh Thứ Ba, 15/07/2014, 00:00
Hiện nay, các bạn có thể dễ dàng tìm kiếm các địa chỉ tin cậy về tư vấn, xét nghiệm HIV tại địa phương mình.
CÁC ĐỊA CHỈ TƯ VẤN, XÉT NGHIỆM HIV TẠI QUẢNG NINH Trung tâm y tế dự phòng tỉnh Phòng tư vấn - Trung tâm tư vấn sức khoẻ cộng đồng Phòng tư vấn sức khoẻ - bệnh viện đa khoa tỉnh Quảng Ninh Phòng khám truyền nhiễm - bệnh viện đa khoa tỉnh Quảng Ninh Trung tâm y tế thành phố Hạ Long Trung tâm y tế thị xã Cẩm Phả Trung tâm y tế thị xã Cẩm Phả
Địa chỉ: phường Trần Hưng Đạo
Điện thoại: (033) 829775/ 622753
Địa chỉ: tổ 11, khu 8, phường Hồng Hải, đường Nguyễn Văn Cừ, TP Hạ Long
Điện thoại: (033) 837734
Địa chỉ: đường Tuệ Tĩnh, phường Bạch Đằng, TP Hạ Long, Quảng Ninh
Điện thoại: (033) 823105
Địa chỉ: tầng 2, khoa khám bệnh - đường Tuệ Tĩnh, phường Bạch Đằng, TP Hạ Long, Quảng Ninh
Điện thoại: (033) 620853
Địa chỉ: phường Trần Hưng Đạo
Điện thoại: (033) 623749/ 822433
Địa chỉ: thị xã Cẩm Phả
Điện thoại: (033) 860410
Địa chỉ: thị xã Cẩm Phả
Điện thoại: (033) 860410
CÁC ĐỊA CHỈ TƯ VẤN, XÉT NGHIỆM HIV TẠI
QUẢNG NINH
Trung tâm y tế dự phòng tỉnh
Phòng tư vấn - Trung tâm tư vấn sức khoẻ cộng đồng
Phòng tư vấn sức khoẻ - bệnh viện đa khoa tỉnh Quảng Ninh
Phòng khám truyền nhiễm - bệnh viện đa khoa tỉnh Quảng Ninh
Trung tâm y tế thành phố Hạ Long
Trung tâm y tế thị xã Cẩm Phả
Trung tâm y tế thị xã Cẩm Phả
Nhận xét(0 Nhận xét)
Chúng tôi mong muốn nhận được nhận xét của bạn.
Bạn vui lòng nhập đầy đủ các trường có dấu *
Các tin mới hơn
- Địa chỉ tư vấn, xét nghiệm HIV tại Bắc Ninh Thứ Tư, 16/07/2014, 00:00
Các tin khác
- Địa chỉ tư vấn, xét nghiệm HIV tại Hải Phòng Thứ Hai, 14/07/2014, 00:00
- Địa chỉ tư vấn, xét nghiệm HIV tại Quảng Nam Chủ Nhật, 13/07/2014, 00:00
- Địa chỉ tư vấn, xét nghiệm HIV tại Đà Nẵng Thứ Bẩy, 12/07/2014, 00:00
- Địa chỉ tư vấn, xét nghiệm HIV tại Cần Thơ Thứ Sáu, 11/07/2014, 00:00
- Địa chỉ tư vấn, xét nghiệm HIV tại TP Hồ Chí Minh Thứ Năm, 10/07/2014, 00:00
- Địa chỉ tư vấn, xét nghiệm HIV tại Nghệ An Thứ Tư, 09/07/2014, 00:00
- Địa chỉ tư vấn, xét nghiệm HIV tại Hà Nội Thứ Ba, 08/07/2014, 00:00
- Kỹ thuật Test nhanh HIV trên mẫu nước bọt có độ tin cậy ra sao? Thứ Năm, 30/01/2014, 00:00
- Xét nghiệm tiên lượng bệnh và giai đoạn phát triển của AIDS (tiếp) Thứ Năm, 16/01/2014, 00:00
- Các xét nghiệm để tiên lượng bệnh và giai đoạn phát triển của AIDS Thứ Tư, 15/01/2014, 00:00
- Xét nghiệm HIV và giá trị của xét nghiệm HIV? Thứ Ba, 14/01/2014, 00:00

markdown:
# Địa chỉ tư vấn, xét nghiệm HIV tại Quảng Ninh Thứ Ba, 15/07/2014, 00:00
Hiện nay, các bạn có thể dễ dàng tìm kiếm các địa chỉ tin cậy về tư vấn, xét nghiệm HIV tại địa phương mình.
**CÁC ĐỊA CHỈ TƯ VẤN, XÉT NGHIỆM HIV TẠI ** **QUẢNG NINH** **Trung tâm y tế dự phòng tỉnh
**Địa chỉ: phường Trần Hưng Đạo
Điện thoại: (033) 829775/ 622753
**Phòng tư vấn - Trung tâm tư vấn sức khoẻ cộng đồng
**Địa chỉ: tổ 11, khu 8, phường Hồng Hải, đường Nguyễn Văn Cừ, TP Hạ Long
Điện thoại: (033) 837734
**Phòng tư vấn sức khoẻ - bệnh viện đa khoa tỉnh Quảng Ninh
**Địa chỉ: đường Tuệ Tĩnh, phường Bạch Đằng, TP Hạ Long, Quảng Ninh
Điện thoại: (033) 823105
**Phòng khám truyền nhiễm - bệnh viện đa khoa tỉnh Quảng Ninh
**Địa chỉ: tầng 2, khoa khám bệnh - đường Tuệ Tĩnh, phường Bạch Đằng, TP Hạ Long, Quảng Ninh
Điện thoại: (033) 620853
**Trung tâm y tế thành phố Hạ Long
**Địa chỉ: phường Trần Hưng Đạo
Điện thoại: (033) 623749/ 822433
**Trung tâm y tế thị xã Cẩm Phả
**Địa chỉ: thị xã Cẩm Phả
Điện thoại: (033) 860410
**Trung tâm y tế thị xã Cẩm Phả
**Địa chỉ: thị xã Cẩm Phả
Điện thoại: (033) 860410
### Nhận xét(0 Nhận xét)
Chúng tôi mong muốn nhận được nhận xét của bạn.
Bạn vui lòng nhập đầy đủ các trường có dấu *
### Các tin mới hơn
[Địa chỉ tư vấn, xét nghiệm HIV tại Bắc Ninh](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Bac-Ninh_181_184_3215.html)Thứ Tư, 16/07/2014, 00:00
### Các tin khác
[Địa chỉ tư vấn, xét nghiệm HIV tại Hải Phòng](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Hai-Phong_181_184_3188.html)Thứ Hai, 14/07/2014, 00:00 [Địa chỉ tư vấn, xét nghiệm HIV tại Quảng Nam](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Quang-Nam_181_184_3187.html)Chủ Nhật, 13/07/2014, 00:00 [Địa chỉ tư vấn, xét nghiệm HIV tại Đà Nẵng](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Da-Nang_181_184_3186.html)Thứ Bẩy, 12/07/2014, 00:00 [Địa chỉ tư vấn, xét nghiệm HIV tại Cần Thơ](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Can-Tho_181_184_3183.html)Thứ Sáu, 11/07/2014, 00:00 [Địa chỉ tư vấn, xét nghiệm HIV tại TP Hồ Chí Minh](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-TP-Ho-Chi-Minh_181_184_3176.html)Thứ Năm, 10/07/2014, 00:00 [Địa chỉ tư vấn, xét nghiệm HIV tại Nghệ An](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Nghe-An_181_184_3175.html)Thứ Tư, 09/07/2014, 00:00 [Địa chỉ tư vấn, xét nghiệm HIV tại Hà Nội](http://tamsubantre.org/article/Dia-chi-tu-van-xet-nghiem-HIV-tai-Ha-Noi_181_184_3169.html)Thứ Ba, 08/07/2014, 00:00 [Kỹ thuật Test nhanh HIV trên mẫu nước bọt có độ tin cậy ra sao?](http://tamsubantre.org/article/Ky-thuat-Test-nhanh-HIV-tren-mau-nuoc-bot-co-do-tin-cay-ra-sao_181_184_101.html)Thứ Năm, 30/01/2014, 00:00 [Xét nghiệm tiên lượng bệnh và giai đoạn phát triển của AIDS (tiếp)](http://tamsubantre.org/article/Xet-nghiem-tien-luong-benh-va-giai-doan-phat-trien-cua-AIDS-tiep_181_184_73.html)Thứ Năm, 16/01/2014, 00:00 [Các xét nghiệm để tiên lượng bệnh và giai đoạn phát triển của AIDS](http://tamsubantre.org/article/Cac-xet-nghiem-de-tien-luong-benh-va-giai-doan-phat-trien-cua-AIDS_181_184_72.html)Thứ Tư, 15/01/2014, 00:00 [Xét nghiệm HIV và giá trị của xét nghiệm HIV?](http://tamsubantre.org/article/Xet-nghiem-HIV-va-gia-tri-cua-xet-nghiem-HIV_181_184_71.html)Thứ Ba, 14/01/2014, 00:00

WARC-Truncated: length

Content-Type: text/html; charset=utf-8

X-Micro-Cache: MISS


text:
Hồ Ngọc Hà lên tiếng vụ Lý Quí Khánh bị Reem Acra "ăn cắp" ý tưởng thiết kế
Trên trang cá nhân, Hồ Ngọc Hà đã viết dòng trạng thái khá dài xung quanh chuyện Lý Quí Khánh tố nhà mốt danh tiếng thế giới Reem Acra "ăn cắp" ý tưởng thiết kế.
Trên trang cá nhân, Hồ Ngọc Hà đã viết dòng trạng thái khá dài xung quanh chuyện Lý Quí Khánh tố nhà mốt danh tiếng thế giới Reem Acra "ăn cắp" ý tưởng thiết kế.

markdown:
[](/ngoi-sao/ho-ngoc-ha-len-tieng-vu-ly-qui-khanh-bi-reem-acra-an-cap-y-tuong-thiet-ke-tsgd23277)
![ Hồ Ngọc Hà lên tiếng vụ Lý Quí Khánh bị Reem Acra "ăn cắp" ý tưởng thiết kế](http://files.tamsugiadinh.vn/News/2017/01/1484884291_ly-qui-khanh7660.jpg)
[Hồ Ngọc Hà lên tiếng vụ Lý Quí Khánh bị Reem Acra "ăn cắp" ý tưởng thiết kế](/ngoi-sao/ho-ngoc-ha-len-tieng-vu-ly-qui-khanh-bi-reem-acra-an-cap-y-tuong-thiet-ke-tsgd23277)
Trên trang cá nhân, Hồ Ngọc Hà đã viết dòng trạng thái khá dài xung quanh chuyện Lý Quí Khánh tố nhà mốt danh tiếng thế giới Reem Acra "ăn cắp" ý tưởng thiết kế.

WARC-Identified-Payload-Type: text/html

Server: nginx

Pragma: public


text:
Là kết quả phát triển sâu hơn của tăng "cruiser" Cromwell, chiếc xe này đã phục vụ quân đội trong Thế Chiến II. Có tổng cộng 1186 chiếc được sản xuất từ tháng 09/1944 đến cuối năm 1945.
Được phát triển nhằm đáp trả xe tăng T-34 của Liên Xô, nhưng đồng thời cũng chịu ảnh hưởng từ đó. Quân lệnh sản xuất 200 chiếc lúc đầu đã bị hủy bỏ vì mọi sự chú ý và ưu tiên được dành cho Panther.
Năm 1954 Chính phủ Trung Quốc xem xét khả năng khởi động dây chuyền sản xuất T-34-85 tại Trung Quốc. Cũng vào thời gian đó, các kỹ sư Trung Quốc đã đề xuất 1 dự án thay thế T-34-85: đó chính là T-34-1. So với bản gốc T-34-85, Bộ chuyển động và xích T-34-1 đã được điều chỉnh lại, làm giảm trọng lượng tổng thể và có kích thước thân xe thấp hơn. Trong năm 1954 một vài thiết kế của chiếc xe, với tháp pháo khác nhau và trang bị vũ khí đã được phát triển. Tuy nhiên, không có một nguyên mẫu nào được xây dựng.

markdown:
# Đang so sánh: CometvớiVK 30.02 (D)vớiT-34-1
|
|![]()
Là kết quả phát triển sâu hơn của tăng "cruiser" Cromwell, chiếc xe này đã phục vụ quân đội trong Thế Chiến II. Có tổng cộng 1186 chiếc được sản xuất từ tháng 09/1944 đến cuối năm 1945.
|
|![]()
Được phát triển nhằm đáp trả xe tăng T-34 của Liên Xô, nhưng đồng thời cũng chịu ảnh hưởng từ đó. Quân lệnh sản xuất 200 chiếc lúc đầu đã bị hủy bỏ vì mọi sự chú ý và ưu tiên được dành cho Panther.
|
|![]()
Năm 1954 Chính phủ Trung Quốc xem xét khả năng khởi động dây chuyền sản xuất T-34-85 tại Trung Quốc. Cũng vào thời gian đó, các kỹ sư Trung Quốc đã đề xuất 1 dự án thay thế T-34-85: đó chính là T-34-1. So với bản gốc T-34-85, Bộ chuyển động và xích T-34-1 đã được điều chỉnh lại, làm giảm trọng lượng tổng thể và có kích thước thân xe thấp hơn. Trong năm 1954 một vài thiết kế của chiếc xe, với tháp pháo khác nhau và trang bị vũ khí đã được phát triển. Tuy nhiên, không có một nguyên mẫu nào được xây dựng.
|mô đun|
|Tự động lựa chọn||
||
||
|
|Tháp pháo|
|Súng|
|Động cơ|
|Bộ truyền dộng|
|Radio|
|Những đặc điểm chính|
|Trang dữ liệu tăng||
|[Trang dữ liệu tăng](/vi/data/germany/medium-tanks/vk-3002-d/86) [Trang dữ liệu tăng](/vi/data/china/medium-tanks/t-34-1/11) [](#)
- Commander
- Gunner
- Driver
- Radio Operator
- Loader
- Commander
- Gunner
- Driver
- Radio Operator
- Loader
- Commander
- Gunner
- Driver
- Loader (Radio Operator)
- Front:
- 76.2 mm
- Side:
- 42.9 mm
- Rear:
- 31.8 mm
- Front:
- 80 mm
- Side:
- 45 mm
- Rear:
- 50 mm
- Front:
- 60 mm
- Side:
- 45 mm
- Rear:
- 40 mm
[](#) [](#) [](#) [](#) [](#) [](#) [](#) [](#) [](#) [](#) [vbaddict.net](http://www.vbaddict.net/)

X-Cache: MISS