Class « MicrosoftTech.Net

Inheritance & Access Modifier

Quay trở lại chủ để Kế thừa trong Class, hôm nay chúng ta sẽ tìm hiểu về các từ khóa quản lý cơ chế truy xuất (Access Modifier) trong kế thừa.Mục đích của Access Modifier là để giới hạn mức độ truy cập đến các thuộc tính, phương thức của một class nhằm tăng tính bảo mật cho dữ liệu. Như vậy có thể ngăn chặn sự truy xuất dữ liệu trái phép từ các class khác nhau khi chưa được phép. Như vậy tính độc lập trong chương trình càng được nâng cao.

1. Kế thừa (Inheritance)

Nói sơ qua về kế thừa, ta có thể hiểu đơn giản một lớp nếu kế thừa một lớp khác thì có thể sử dụng các thuộc tính, phương thức từ lớp ban đầu nếu được phép. Lớp được kế thừa gọi là lớp co bản. Lớp kế thừa là lớp dẫn xuất. Mục đích của việc kế thừa là tăng khả năng tái sử dụng của chương trình, tiết kiệm thời gian viết mã, giúp chương trình theo một trình tự logic trên dưới, dễ dàng hơn trong việc quản lý. Từ một lớp cơ bản có thể dùng cho nhiều lớp dẫn xuất cùng kế thừa.

So với C++ thì trong Csharp được giảm bớt một số yếu tố giúp cho chương trình đơn giản hơn. Như ta thấy đa kế thừa có rất nhiều yếu tố phức tạp, dễ dẫn tới …..

Constructor for Class

Bài viết lần này chúng ta sẽ tìm hiểu về Constructor (phương thức khởi tạo) trong các class. Trong lập trình csharp mọi thứ đều được xem là một đói tượng nhất định, khi khởi tạo một đối tượng ta cần dùng từ khóa new để cấp phát một vùng nhớ cho đối tượng đó. Kiểu giá trị của đối tượng là kiểu tham chiếu. Trong câu lệnh khởi tạo đối tượng có 1 hàm đứng sau từ khóa new đó chính là constructor.

Khái niệm Constructor trong csharp

Constructor được định nghĩa trong quá trình khai báo class, nếu như không định nghĩa Constructor thì chương trình sẽ tự sinh Constructor mặc định không chứa đối số. Mục đích chính của Constructor là thiết lập các giá trị cho các thuộc tính sau khi khởi tạo các đối tượng. Constructor có thể có một, nhiều đối số hoặc không có đối số nào. Tên phương thức Constructor khi báo phải trùng (chính xác) tên với tên của class. Có thể tạo nhiều Constructor cho class nhưng các constructor phải khác nhau về đối số. Đây cũng là khái niệm overload trong lập trình hướng đối tượng, nghĩa là tạo nhiều hàm / phương thức cùng tên nhưng khác về đối số. Đối số khác nhau ở đây là số lượng đối số và thứ tự các đối số. Constructor không có đối số là constructor mặc định.

Trong ví dụ bên …..

Static Class

Hôm nay chúng ta sẽ tiếp tục bài viết về Lập trình csharp dotnet, bài viết hôm nay sẽ bàn về class static cũng như một số điểm thuận lợi từ static class. Ta đã biết rằng trong lập trình csharp hầu hết mọi thứ đều được định nghĩa dưới dạng class và làm việc với đối tượng cụ thể. Tất cả đều gói gọn trong phương pháp lập trình hướng đối tượng. Tất nhiên không thể phủ nhận lợi thế rất lớn từ phương pháp lập trình hướng đối tượng, nhưng ko phải khi nào ta cũng phải nhất thiết làm việc với đối tượng mà đơn giản chỉ cần một số biến (thuộc tính), hàm (phương thức) để thực hiện một số công việc riêng rẽ nào đó hoặc đơn giản chỉ để lưu trữ dữ liệu…

1. Làm việc với Static Class

Trong Lập trình csharp có đua ra khái niệm static class (lớp tĩnh) là các class khi sử dụng ko cần tạo instance (đối tượng / thực thể) mà sử dụng trực tiếp tên class. Và hiển nhiên 1 class không thì không thể làm được gì mà cần phải có thuộc tính và các phương thức. Trong static class các thuộc tính và phương thức cũng phải khai báo dưới dạng static và được gọi thông qua tên class. Ví dụ bên dưới hướng dẫn cách khai báo static class với các thuộc tính và phương thức đi …..

Struct

Trong bài viết hôm nay ta sẽ tìm hiểu một số vấn đề xoay quanh Struct. Struct là gì?! Struct là kiệu dữ liệu cấu trúc do người dùng định nghĩa từ các kiểu dữ liệu cơ sở. Trong csharp struct gần tương tự với class. Chỉ khác biệt ở điểm: Instance tạo bởi class có kiểu dữ liệu tham biến, còn Instance của Struct mang kiểu dữ liệu tham trị. Struct trong csharp cũng được xem là một đối tượng có các thuộc tính, phương thức và không thể thiếu hàm khởi tạo (Constructor) và hàm hủy (Destructor). Để làm rõ những vấn đề vừa đề cập trên, ta bắt đầu với ví dụ nhỏ sau: Struct Examples

1. Struct là gì

Đầu tiên ta phân tích ví dụ một cách tổng quát. Bắt đầu tại dòng 12 là các bước khai báo (định nghĩa struct). Struct có 2 thuộc tính kiểu int và string. Đi kèm là một Constructor và một phương thức là Show(). Trong hàm Main() ta tiến hành khởi tạo một đối tượng Struct với tên cụ thể và đồng thời gán giá trị cho các thuộc tính. Tiếp theo đó dùng phương thức Show để hiển thị các giá trị của thuộc tính.

2. Struct & Class

Tương tự như Class trong Struct cũng có các trường thuộc tính và các phương thức để tác động lên giá trị thuộc tính. Và cũng tương tự, ta cũng …..