Bạn có thể giúp mình phân biệt properties với method (không phải properties) không ?
Cái này mình chỉ trích một trong số những ý kiến mà thôi :
Bạn có thể giúp mình phân biệt properties với method (không phải properties) không ?
Cái này mình chỉ trích một trong số những ý kiến mà thôi :
Mình nói rõ ràng từ đầu đến giờ là properties C# có get;set; thì C++ mình tạo hàm get;set;, và mình cũng nói luôn là properties thực chất là 1 method đặc biệt, cái này là bạn NguyenCa đưa 1 bài báo cho bạn xem rồi:slight_smile:
Bạn nói C++ ko có properties, mình kiếm đoạn code thực hiện properties bằng C++ cho bạn rồi
Chính bạn nói bạn sử dụng visual từ lúc mọi người chưa biết, bạn cũng bảo properties chỉ có bên C#, vậy sao bạn ko giải thích properties là gì cho mình nghe properties vs index có điểm khác nhau gì
Nói chung nếu bạn nói C++ ko chuẩn OOP bằng C#, thì làm ơn đưa ra 1 thước đo về chuẩn OOP rồi dựa vào đó mà nói, chứ đưa mấy topic nặng mùi “cưỡi ngựa xem hoa” thế này chỉ khiến mình buồn cười thôi:joy:
Nếu bạn ko đưa ra đc thước đo thì dừng tại đây được rồi, mình cũng chỉ rảnh tới tối nay thôi, mai lại phải cày rồi
Topic này chắc cũng nên close lại đc rồi, chủ topic chắc cũng tìm ra được giải pháp
Thế này nhé :
1.Con xe máy có động cơ và 2 bánh. Bạn lấy con xe thồ gắn động cơ vào và nó cũng có 2 bánh nhưng không phải xe máy. Tuy rang cũng nổ máy được, có thể vít ga và phi như bay được. Còn bạn cứ thích gọi nó là xe máy cũng được.
Không phải cứ OOP thì có properties và đương nhiên nhiều cái có properties vẫn không phải OOP. Thế nên đừng coi OOP và properties là 2 cái không thể thiếu nhau.
2.@nguyenhuuca có đưa cho mình xem 3 link. 2 link nói về properties C#. Còn 1 link nói về properties C++.NET. Bạn cũng biết C++.NET là đồ chơi riêng nhà MS dung cả với .NET nên cái properties kia có được do dung cùng.NET chỉ như C#. Nó không đại diện cho C++ nói chung được.
Bạn cũng thừa nhận properties là method đặc biệt. Và cái vấn đề nó nằm ở chỗ đặc biệt đấy đấy.
Code bạn copy có 2 hàm get,set như những method thông thường thì có gì đặc biệt đâu ? Vì thế mình mới bảo bạn phân biệt giúp nó với method thông thường !
PS: Nhớ ghi nguồn : http://www.codeguru.com/cpp/cpp/cpp_mfc/article.php/c4031/Implementing-a-Property-in-C.htm
Khi những thứ của bạn đưa ra cũng không đồng tình với bạn thì cười là việc của bạn thôi.
Và nếu có nhắc lời mình thì nên trích dẫn cho chuẩn nhé. Mình là không nói thế này đâu :
Mình là mình thôi nhé !
https://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx định nghĩa properties theo C# đây link của bạn NguyenCa
A property is a member that provides a flexible mechanism to read, write, or compute the value of a private field. Properties can be used as if they are public data members, but they are actually special methods called accessors. This enables data to be accessed easily and still helps promote the safety and flexibility of methods.
Mình hoàn toàn ko nói là mình viết đoạn code đó, mình nói rõ là mình kiếm đoạn code đó ko có cmt nào mình nói là mình viết cả, mình ko để ý mình lấy trang web nào, nên mình ko ghi rõ link…
Mình dung nhiều bản VS lắm. Dùng cả cái từ thời chưa có VS.Biết có cái gọi là property từ trước khi thằng C# nó được sinh ra. Chắc bạn nghĩ mình mới bập bẹ vào và dung VS2015 nên “không hiểu chuyện đời”
Mình xin lỗi đã hiểu sai ý bạn nhưng mà bạn nói “.Biết có cái gọi là property từ trước khi thằng C# nó được sinh ra”, vậy sao ko giải thích cho mình biết properties là gì, cách thức hoạt động bên trong nó là gì
Code bạn copy có 2 hàm get,set như những method thông thường thì có gì đặc biệt đâu ? Vì thế mình mới bảo bạn phân biệt giúp nó với method thông thường !
Đoạn code trên mô phỏng việc sử dụng properties bên C++, rõ ràng nó có thể nhận giá trị và trả giá trị ra, cái bạn nói là hoạt động bên trong properties của C++
Còn việc tại sao nó là phương thức đặc biệt thì bạn cứ giải thích cách thức hoạt động bên trong của properties đi rồi mình sẽ nói
Cái bài báo bạn đưa cho mình, mình nói nó cưỡi ngựa xem hoa vì nó chỉ nói mà ko đưa dẫn chứng, thế nào là hạn chế trong OOP, thiếu trong sáng là như thế nào…
Nếu bạn muốn nói C# chuẩn OPP hơn C++ thì nên đưa ra 1 thước đó thế nào là chuẩn đã, rồi bàn tiếp