Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Hướng đối tượng có gì khác biệt!?!

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Hướng đối tượng có gì khác biệt!?! Empty
Bài gửiTiêu đề: Hướng đối tượng có gì khác biệt!?!   Hướng đối tượng có gì khác biệt!?! EmptyFri Jul 01, 2011 8:28 pm

Hướng đối tượng có gì khác biệt!?! Titleb10 Fri Jul 01, 2011 8:28 pm » Hướng đối tượng có gì khác biệt!?! Hướng đối tượng có gì khác biệt!?! Titleb13
Hướng đối tượng có gì khác biệt!?! 73132 Lập trình đối tượng:Đối tượng = Dữ liệu + Hành vi ( phương thức)
Ví dụ:thực tế: đối tượng là người
Hướng đối tượng có gì khác biệt!?! Nike-plus-human-race-3
dữ liệu là cao,đẹp,19 tuổi hành vi chạy, ngủ , ăn,múa hát.
Chương trình:
Code:
#include
class CNguoi
{
    private:
    float ChieuCao,CanNang;// Du Lieu
    public:
    //Hanh vi
    void set(float a,float b)//Cho ChieuCao,CanNang bang mot gia tri
    {
        ChieuCao=a;
        CanNang=b;
    }
};
Ba đặc tính làm nên sự khác biệt cho hướng đối tượng: Hướng đối tượng có gì khác biệt!?! 429580 Hướng đối tượng có gì khác biệt!?! 429580
_Tính đóng gói
_Tính kế thừa
_Tính đa hình

1)Tính đóng gói: là đóng gói dữ liệu và hành vi, tức cả biến và các lệnh thực hiện với biến đều gộp chung trong class. Hướng đối tượng có gì khác biệt!?! 59591
2)Tính kế thừa: ta có lớp Người đã tạo,từ lớp này ta có thể tạo lớp Nữ thừa hưởng các tính chất của lớp Người như dữ lệu: chiều cao, cân nặng.... hành vi: ăn, ngủ... và phát triển thêm các tính chất của riêng lớp Nữ như
Hướng đối tượng có gì khác biệt!?! 106494 vòng 1, vòng 2 ... Hướng đối tượng có gì khác biệt!?! 645750
3) Tính đa hình: các hàm có thể cùng tên gọi nhưng mục đích khác nhau, khi gọi hàm, trình biên dịch sẽ chọn hàm phù hợp để thực hiện Hướng đối tượng có gì khác biệt!?! 894139

Bây giờ ta xét chương trình viết theo kiểu cấu trúc và hướng đối tượng để so sánh:


Cấu trúc:
Code:
#include <iostream.h>
struct HocSinh
{
    char Ten[31];
    float Diem;
};
void Nhap(HocSinh &hs)
{
    cin.ignore;
    cout<<"Ten: ";//Xoa bo nho dem
    cin.getline(hs.Ten,30);
    cout<<"Diem: ";
    cin>>hs.Diem;
}
void Xuat(HocSinh hs)
{
    cout<<hs.Ten<<" : "<<hs.Diem<<endl;
}
void main()
{
    HocSinh a;
    Nhap(a);
    Xuat(a);

}

Hướng đối tượng:
Code:
#include <iostream.h>
class CHocSinh
{
    // Du Lieu
    char Ten[31];
    float Diem;
    public:
    //Hanh vi
    void Nhap();
    void Xuat();
};
void CHocSinh::Nhap()
{
    cin.ignore;
    cout<<"Ten: ";//Xoa bo nho dem
    cin.getline(Ten,31);
    cout<<"Diem: ";
    cin>>Diem;
}
void CHocSinh::Xuat()
{
    cout<<Ten<<" : "<<Diem<<endl;
}
void main()
{
    CHocSinh a;
    a.Nhap();
    a.Xuat();
}

Nhận xét: lập trình cấu trúc có tác vụ rời, còn với lập trình đối tượng tác vụ là hành vi được khai báo trong class. Ngoài ra tính bảo mật của cấu trúc cũng kém.
Code:
    a.Diem=0;
    Xuat(a);
Đoạn code trên làm thay đổi điểm nhập vào!!!
Còn với lập trình hướng đối tượng, dữ liệu bảo mật.
Code:
    a.Diem=0;
    a.Xuat();
Máy sẽ thông báo lỗi!!! Điều này tránh việc người dùng thay đổi dữ liệu hệ thống!


Tboy

Hướng đối tượng có gì khác biệt!?! Border10 Hướng đối tượng có gì khác biệt!?! Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
 

Hướng đối tượng có gì khác biệt!?!

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Đề thi lập trình hướng đối tượng
» file bài hướng dẫn cslt2
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Lập trình hướng đối tượng :: Lý thuyết-