Struct và Class khác nhau như thế nào trong C#?


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTìm kiếmLatest imagesĐăng kýĐăng Nhập
Top posters
Sakura (1124)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
hotboy (705)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
Già Làng (373)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
con_ca_nho90 (289)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
that_true (154)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
theanhkkt (143)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
phamay (137)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
lovelonelyman (134)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
o0ovioletstaro0o (128)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
stevenhung (122)
Struct và Class khác nhau như thế nào trong C#? Vote_lcapStruct và Class khác nhau như thế nào trong C#? Voting_barStruct và Class khác nhau như thế nào trong C#? Vote_rcap 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share
 

 Struct và Class khác nhau như thế nào trong C#?

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

Struct và Class khác nhau như thế nào trong C#? Stars7
Sakura

Thú CƯng : Struct và Class khác nhau như thế nào trong C#? I-hate-Cats-icon
Nam Scorpio

Số bài viết : 1124
Điểm : 1688
Được cảm ơn : 35
Ngày sinh : 03/11/1990
Tham gia ngày : 16/03/2010
Tuổi : 34
Đến từ : Bình Dương
Ngề nghiệp : IT Student

Struct và Class khác nhau như thế nào trong C#? Empty
Bài gửiTiêu đề: Struct và Class khác nhau như thế nào trong C#?   Struct và Class khác nhau như thế nào trong C#? I_icon_minitime8/10/2010, 09:40

Sau khi nghe thầy giảng về Class và Struct trong C#, nhiều bạn băn khoăn: "chúng có khác nhau gì đâu?"
Và thưa, đây là 1 số điểm khác nhau giữa class và struct, bài này là mình sưu tầm thôi nhé! Hjhj!

Struct và Class khác nhau như thế nào trong C#?

Lên đến C# thì thật sự Struct rất giống với Class, rất khó phân biệt điểm khác nhau giữa Struct và Class và khi nào thì dùng nên Class và khi nào nên dùng Struct.

Điểm giống nhau giữa Struct và Class :

- Đều che giống thông tin bên trong bằng những dữ liệu thành viên là các field.

- Đều chứa các phương thức (method) và các thuộc tính (Property).

- Đều có thể thực hiện các giao diện (implement interface)

- Đều có hàm khởi tạo

- …

Điểm khác nhau giữa Struct và Class :

- Hàm tạo của Struct bắt buộc phải có tham số

- Struct là kiểu dữ liệu tham trị được chứa trong vùng nhớ Stack còn Class là kiểu dữ liệu tham chiếu được chứa trong vùng nhớ Heap

- Struct không hổ trợ kế thừa từ một Class hay Struct khác

- Struct không hổ trợ hàm hủy

- …

Vì có nhiều điểm tương đồng như vậy cho nên Struct được xem là một “Class nhẹ ký” và có thể được dùng để thay thế Class trong một số trường hợp. Vì vậy các bạn nên xem xét khi dự định sẽ tạo ra một lớp các đối tượng mới, nếu trong trường hợp Struct có thể đáp ứng được thì các bạn nên dùng Struct hơn là Class vì các đối tượng tạo ra bởi Struct ít tốn bộ nhớ hơn so với Class do việc qui chiếu.

Ở OOP căn bản thì chưa có được sự phân biệt mấy giữa Struct và Class nhưng khi ta đi sâu vào OOP để thực thi những thư viện lớp mà có thể được kế thừa và mở rông ra sau này, thì lúc đó ta sẽ dùng Class nhiều hơn Struct và sẽ thấy được sự khác biệt rõ rệt vì Class được thiết kế là dành cho OOP.

Trong một số trường hợp ta cần tạo ra những kiểu đơn giản không đòi hỏi nhiều về tính kế thừa, trừu tượng hóa như : các điểm trên hệ thống tọa độ, phân số …thì ta cứ việc dùng kiểu Struct cho nhẹ chương trình :



Code:
struct DIEM
    {
        int _x;
        int _y;

        public DIEM(int x, int y)
        {
            _x = x;
            _y = y;
        }

        public int X
        {
            get { return _x; }
            set { _x = value; }
        }

        public int Y
        {
            get { return _y; }
            set { _y = value; }
        }
    }

    struct PHANSO
    {
        int _tuso;
        int _mauso;

        public PHANSO(int tuso, int mauso)
        {
            _tuso = tuso;
            _mauso = mauso;
        }

        public int Tuso
        {
            get { return _tuso; }
            set { _tuso = value; }
        }
        public int Mauso
        {
            get { return _mauso; }
            set { _mauso = value; }
        }
    }
Về Đầu Trang Go down
that_true

Member Nhiệt Tình


Member Nhiệt Tình
that_true

Thú CƯng : Struct và Class khác nhau như thế nào trong C#? Dolphin-icon
Nam Scorpio

Số bài viết : 154
Điểm : 187
Được cảm ơn : 0
Ngày sinh : 07/11/1988
Tham gia ngày : 17/09/2010
Tuổi : 36
Đến từ : venus
Ngề nghiệp : catch

Struct và Class khác nhau như thế nào trong C#? Empty
Bài gửiTiêu đề: Re: Struct và Class khác nhau như thế nào trong C#?   Struct và Class khác nhau như thế nào trong C#? I_icon_minitime8/10/2010, 16:54

nói chung trước đây ta dùng struct để làm project và bây giờ ta dùng class cũng để làm project =))!
Về Đầu Trang Go down
 

Struct và Class khác nhau như thế nào trong C#?

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

 Similar topics

-
» Dễ nhầm vì khác nhau
» Phạm Vi Hoạt Động Của Class trong C#
» Những thay đổi quan trọng trong Windows 7 Service Pack 1
»  [OOP] - Bài Tập Class Point - Các Thao Tác Cơ Bản - Get Set
» static members in Class

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: HỌC TẬP :: HỌC KỲ V :: Nhập môn .Net-