Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE


Đặc biệt khi học trực tuyến ở webiste chúng tôi, bạn sẽ được giải đáp các vấn đền thắc mắc đến môn học trong vòng 3 tháng kể từ khi kết thúc khóa học !

THÔNG TIN VỀ CÁC KHÓA HỌC TRỰC TUYẾN - ÁP DỤNG CHO NHỮNG NGƯỜI ĐĂNG KÍ SAU 01/06/2012
1. Học Flash cơ bản Thời lượng: 30 tiết. Cách học: học cơ bản theo giáo trình, có sự hướng dẫn trực tuyến (truy cập máy tính từ xa, chat Yahoo, mail, video), làm lab dưới sự hỗ trợ và quan sát từ xa (remote máy tính). Giá: 1000.000 VNĐ. Bonus: bạn được tặng giáo trình Flash phiên bản mới nhất.

2. Học cách lập trình game HOẶC làm hoạt hình trên Flash (Yêu cầu: đã qua khóa học Flash cơ bản). Thời lượng: 30 tiết. Cách học: như trên. Giá: 1.750.000 VNĐ.

3. Thiết kế web Thời lượng: 5 tiết Photoshop (học các kĩ thuật cơ bản), 5 tiết html, 5 tiết CSS, 5 tiết JavaScript, Làm Lab trên Dreamweaver 9 tiết, W3C Validator 1 tiết. Mỗi tiết = 45 phút. Cách học: như trên. Giá: 1000.000 VNĐ.

4. Lập trình căn bản C/C++ Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ

5. Lập trình hướng đối tượng C++ Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ.

6. Lập trình Java căn bản Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ.

7. Lập trình C# Thời lượng: 30 tiết. Cách học: như trên. Giá: 1000.000 VNĐ.

8. Lập trình JSP (Yêu cầu: Học Java căn bản HOẶC hoàn tất một bài test của chúng tôi đạt 60%) Thời lượng: 30 tiết. Cách học: như trên. Giá: 1.000.000 VNĐ.

9. Lập trình ASP.NET (Yêu cầu: Học C# căn bản HOẶC hoàn tất một bài test của chúng tôi đạt 60%) Thời lượng: 30 tiết. Cách học: như trên. Giá: 1.000.000 VNĐ.

10. Hướng dẫn học lập trình nâng cao - Học theo yêu cầu. Dành cho những người muốn phát triển kĩ năng lập trình theo hướng giải thuật trong các kì thi Tin học quốc gia; Học theo những phần yêu cầu của người học. Giá: 1.500.000 (lập trình nâng cao); 2.500.000 (học theo yêu cầu) VNĐ (Hướng dẫn, giải đáp trong vòng 45 tiết, liên hệ và được giải đáp nhanh mọi lúc).

11. Luyện thi Đại học, dạy kèm TOÁN - LÝ - HÓA. Dành cho những người muốn bổ túc kiến thức các học phần Toán, Lý, Hóa cũng như luyện thi Đại Học. Đăng kí học Hóa (liên hệ qua imphanvantien@yahoo.com ESPECIALLY, YOU CAN REGISTER TO LEARN BY ENGLISH LANGUAGE.); Đăng kí học Lý (liên hệ qua hoviet@hueic.edu.vn); Đăng kí học Toán (liên hệ qua myhoangthanh@yahoo.com) Giá: liên hệ (1 tuần học 3 buổi, mỗi buổi học 2 tiết).

12. Thiết kế web nâng cao Nội dung/Thời lượng: 30 tiết; học các công nghệ nâng cao phục vụ cho thiết kế web: html5, css3, jquery. Thiết kế web cho các thiết bị di động: smartphone (iPhone, Android, WinPhone,...); tablet (iPad, Android, Windows 8...). Cách học: như trên. Giá: 1.500.000 VNĐ.

13. Lập trình ứng dụng cho smartphone, tablet Android, iOS, Blackberry, WinPhone bằng Adobe AIR Yêu cầu: đã qua khóa học Flash căn bản Thời lượng: 15 tiết Giá: 1.000.000 VNĐ.

14. Lập trình PHP căn bản Thời lượng: 5 tiết MySQL, 20 tiết PHP, 5 tiết làm website thương mại Giá: 1.000.000 VNĐ.

15. Lập trình Javascript Thời lượng/Nội dung: 30 tiết. Học về javascript căn bản, DOM, AJAX, JQUERY. Giá: 1000.000 VNĐ.

16. Lập trình Java toàn tập (Căn bản, nâng cao, winform, webform,...) Thời lượng/Nội dung: 90 tiết. Học về java căn bản, java nâng cao, swing, awt, sql, jsp, html, css, javascript căn bản, DOM, AJAX, JQUERY. Giá: 3.600.000 VNĐ.

17. Lập trình C# toàn tập (Căn bản, nâng cao, winform, webform,...) Thời lượng/Nội dung: 90 tiết. Học về C# căn bản, C# nâng cao, winform, sql, asp.net, html, css, javascript căn bản, DOM, AJAX, JQUERY. Giá: 3.600.000 VNĐ.

18. Lập trình PHP toàn tập (Căn bản, nâng cao, webform,...) Thời lượng/Nội dung: 90 tiết. Học về PHP căn bản, PHP nâng cao, drupal, joomla, html, css, javascript căn bản, DOM, AJAX, JQUERY. Giá: 3.600.000 VNĐ.
=== Ghi chú: + Mỗi lần học liên tục 3 tiết. + Số lượng buổi học trong tuần không hạn chế (tùy theo yêu cầu).
+ Bạn được giảm giá ưu đãi khi học theo nhóm hoặc học nhiều khóa học. + ĐẶC BIỆT: Chúng tôi nhận dạy kèm tại nhà tại các thành phố Huế, Hải Phòng, Đà Nẵng, Hồ Chí Minh). Giá cả thương lượng. + Thanh toán qua chuyển khoản ATM ĐôngÁ, ATM VietinBank, ATM ACB, PayPal.


Gửi đến cho bạn bè qua email:

Search on This Blog

Thursday, July 29, 2010

Tính kế thừa

Một tính năng theng chốt của lập trình hướng đối tượng đó là tính kế thừa. Nhờ vào tính kế thừa, nó cho phép một lớp có thể dẫn xuất từ một lớp khác, chính vì thế chúng sẽ tự động tiếp nhận các thành viên của bố mẹ và bổ sung thêm các thành viên của riêng chúng. Tính kế thừa cho phép lớp mới có thể nhận được mọi dữ liệu thành viên (private, protected, public) và các hàm thành viên (trừ hàm tạo, hàm hủy, hàm bạn và hàm toán tử gán =).
            Ta có thể tưởng tượng, lớp nam giới Man và lớp nữ giới Woman là những lớp dẫn xuất từ lớp con người Humans. Lớp Humans có các dữ liệu thành viên: tên và tuổi, các hàm thành viên: Đi, Học. Lớp Man và Woman kế thừa từ lớp Humans nên cũng có những thành viên này. Tuy nhiên, chúng có những thành viên riêng và đó là những phương thức và thuộc tính riêng biệt mà chỉ có ở nữ hoặc chỉ có ở nam.


            Ta có thể xét thêm ví dụ về lớp động vật Animal và minh họa tính kế thừa bằng lược đồ bên dưới. Lớp động vật Animal có các dữ liệu thành viên: tên gọi, cân nặng. Các hàm thành viên: di chuyển, ăn. Ta xét hai lớp dẫn xuất của nó là lớp mèo Cat và lớp cá Fish. Lớp Cat có các dữ liệu thành vên riêng: màu lông, màu mắt. Các hàm thành viên riêng: Bắt chuột, Leo cây. Lớp Fish có các dữ liệu thành viên riêng: vẩy, nước (nước ngọt, nước mặn, nước lợ). Các hàm thành viên: bơi, sinh sản (sinh con hay đẻ trứng).


Animal


Dữ liệu
tên gọi


cân nặng

Hàm
di chuyển


ăn






Cat

Fish
Dữ liệu
màu lông

Dữ liệu
vẩy
màu mắt

nước
Hàm
bắt chuột

Hàm
bơi
leo cây

sinh sản

Theo như tính thừa kế, lớp Cat và Fish không những có những dữ liệu thành viên và hàm thành viên riêng của từng lớp, mà nó còn có những dữ liệu thành viên và hàm thành viên của lớp Animal.
Từ này, ta sẽ gọi lớp dẫn xuất Cat và Fish là các lớp con và lớp được dẫn xuất Animal là lớp cơ sở (hay lớp bố mẹ). Bạn cũng lưu ý rằng, tên gọi cũng mang tính tương đối, vì một lớp có thể là con của lớp này, nhưng lại là lớp cơ sở của lớp khác. Do đó, để tránh nhầm lẫn, trong những trường hợp cần phân biệt, ta sẽ gọi cụ thể là lớp con của lớp nào, hay lớp cơ sở của lớp nào một cách cụ thể.
Để quy định một lớp là dẫn xuất từ lớp khác, ta sử dụng toán tử : theo cấu trúc sau
class Animal{
};
class Cat:Animal{
}
class Fish:Animal{
}

Theo cấu trúc khai báo này, thì Cat và Fish là lớp con của lớp cơ sở Animal.
Ví dụ
Kết quả
#include
using namespace std;
class Animal{
protected:
    string name;
    int weight;
public:
    Animal(void);
    Animal(string, int);
    void move(void);
    void eat(void);
};
class Cat:public Animal{
private:
    string colorf;
    string colore;
public:
    Cat(string, int, string, string);
    void catchmouse(void);
    void climb(void);
};
void Animal::move(void){
    cout<<"I can move"<
}
void Animal::eat(void){
    cout<<"I can eat"<
}
Animal::Animal(){
    this->name = "";
    this->weight = 0;
}
Animal::Animal(string name, int weight){
    this->name = name;
    this->weight = weight;
}
void Cat::catchmouse(void){
    cout<<"I can catch mouse"<
}
void Cat::climb(void){
    cout<<"I can climb tree"<
}
Cat::Cat(string name, int weight, string colorfc, string colorec){
    this->name = name;
    this->weight = weight;
    this->colorf = colorf;
    this->colore = colore;
}
int main()
{
    Animal an("Gau", 100);
    Cat ca("Cat1", 3, "black", "blue");
    cout<<"-----Animal Object-----"<<endl;
    an.eat();
    an.move();
    cout<<"-----Cat Object-----"<<endl;
    ca.eat();
    ca.move();
    ca.catchmouse();
    ca.climb();
    return 0;
}
-----Animal Object-----
I can eat
I can move
-----Cat Object-----
I can eat
I can move
I can catch mouse
I can climb tree

Giải thích: trong chương trình này lớp Cat thừa kế từ lớp Animal. Nó sẽ kế thừa mọi dữ liệu thành viên và hàm thành viên của lớp Animal. Để hàm tạo của lớp Cat có thể truy cập đến các dữ liệu thành viên của lớp Animal, thì các dữ liệu thành viên này phải được khai báo mức truy cập là protected hoặc public. Đối tượng ca của lớp Cat chỉ có thể truy cập đến các phương thức thành viên của lớp cơ sở là Animal khi lớp Animal này được public (Cat:public Animal). Một điều cần lưu ý nữa đó là hàm tạo. Khi thừa kế, thì lớp con sẽ không thừa kế hàm tạo từ lớp cơ sở, nhưng lớp cơ sở cần có một hàm tạo mặc định (hàm tạo mặc định luôn tồn tại, nếu bạn khai báo thêm một vài hàm tạo, thì cần có một hàm tạo không có đối số).
Mức độ cho phép truy cập đến các dữ liệu thành viên từ một lớp được cho trong bảng sau


Phạm vi
public
protected
private
thành viên của cùng một lớp
được phép
được phép
được phép
thành viên của lớp dẫn xuất
được phép
được phép
ko được phép
còn lại
được phép
ko được phép
ko được phép
Bạn cũng cần lưu ý rằng trong cách viết về tính kế thừa Cat:public Animal có một số quy tắc chuyển đổi. Nếu các thành viên của lớp cơ sở có mức truy cập là A, khi thừa kế ta quy định mức truy cập của lớp con đối với lớp cơ sở là B (A và B có thể là private < protected < public)  và giả sử rằng A < B, thì các thành viên của lớp con có mức truy cập đến các thành viên của lớp cơ sở là mức truy cập bé nhất A.

No comments:

Post a Comment