C # – Các lớp – c gương điển hình

C # – Lớp, Khi bạn xác định một lớp, bạn xác định một bản thiết kế cho một kiểu dữ liệu. Điều này không thực sự xác định bất kỳ dữ liệu nào, nhưng nó xác định ý nghĩa của tên lớp. Đó là,

Bạn đang xem: c ví dụ về lớp sharp

C # – Các lớp

Quảng cáo

Khi bạn xác định một lớp, bạn xác định một bản thiết kế cho một kiểu dữ liệu. Điều này không thực sự xác định bất kỳ dữ liệu nào, nhưng nó xác định ý nghĩa của tên lớp. Đó là, một đối tượng của lớp bao gồm những gì và những thao tác nào có thể được thực hiện trên đối tượng đó. Đối tượng là các thể hiện của một lớp. Các phương thức và biến tạo thành một lớp được gọi là thành viên của lớp.

Xác định một lớp

Một định nghĩa lớp bắt đầu bằng lớp từ khóa theo sau là tên lớp; và phần thân của lớp được bao bởi một cặp dấu ngoặc nhọn. Sau đây là dạng chung của định nghĩa lớp –

& lt; công cụ xác định quyền truy cập & gt; class class_name {
   // biến thành viên
   & lt; công cụ xác định quyền truy cập & gt; & lt; kiểu dữ liệu & gt; biến1;
   & lt; công cụ xác định quyền truy cập & gt; & lt; kiểu dữ liệu & gt; biến2;
   ...
   & lt; công cụ xác định quyền truy cập & gt; & lt; kiểu dữ liệu & gt; biếnN;
   // phương thức thành viên
   & lt; công cụ xác định quyền truy cập & gt; & lt; loại trả về & gt; phương thức1 (danh sách tham số) {
      // phần thân của phương thức
   }
   & lt; công cụ xác định quyền truy cập & gt; & lt; loại trả về & gt; method2 (tham số_danh sách) {
      // phần thân của phương thức
   }
   ...
   & lt; công cụ xác định quyền truy cập & gt; & lt; loại trả về & gt; methodN (danh sách tham số) {
      // phần thân của phương thức
   }
}

Lưu ý –

  • Các chỉ định truy cập chỉ định các quy tắc truy cập cho các thành viên cũng như cho chính lớp đó. Nếu không được đề cập, thì mã xác định quyền truy cập mặc định cho một loại lớp là nội bộ . Quyền truy cập mặc định của các thành viên là riêng tư .

  • Kiểu dữ liệu chỉ định loại biến và kiểu trả về chỉ định kiểu dữ liệu mà phương thức trả về, nếu có.

  • Để truy cập các thành viên trong lớp, bạn sử dụng toán tử dấu chấm (.).

  • Toán tử dấu chấm liên kết tên của một đối tượng với tên của một thành viên.

Ví dụ sau minh họa các khái niệm được thảo luận cho đến nay –

sử dụng Hệ thống;

không gian tên BoxApplication {
   Hộp lớp {
      độ dài đôi công; // Chiều dài của một hộp
      độ rộng kép công cộng; // Bề rộng của một hộp
      công gấp đôi chiều cao; // Chiều cao của hộp
   }
   lớp học Boxtester {
      static void Main (string [] args) {
         Box Box1 = new Box (); // Khai báo Box1 kiểu Box
         Box Box2 = new Box (); // Khai báo Box2 kiểu Box
         khối lượng gấp đôi = 0,0; // Lưu trữ thể tích của một hộp tại đây

         // đặc tả hộp 1
         Box1.height = 5,0;
         Box1.length = 6,0;
         Box1.breadth = 7,0;

         // đặc tả hộp 2
         Box2.height = 10.0;
         Box2.length = 12.0;
         Box2.breadth = 13.0;
           
         // thể tích của hộp 1
         volume = Box1.height * Box1.length * Box1.breadth;
         Console.WriteLine ("Khối lượng của Box1: {0}", khối lượng);

         // thể tích của hộp 2
         volume = Box2.height * Box2.length * Box2.breadth;
         Console.WriteLine ("Khối lượng của Box2: {0}", khối lượng);
         Console.ReadKey ();
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Khối lượng hộp1: 210
Khối lượng của Box2: 1560

Chức năng thành viên và đóng gói

Một hàm thành viên của một lớp là một hàm có định nghĩa hoặc nguyên mẫu của nó trong định nghĩa lớp tương tự như bất kỳ biến nào khác. Nó hoạt động trên bất kỳ đối tượng nào của lớp mà nó là thành viên và có quyền truy cập vào tất cả các thành viên của lớp cho đối tượng đó.

Xem Thêm  Làm cách nào để thay đổi thuộc tính style của một phần tử động bằng JavaScript? - thuộc tính thay đổi kiểu javascript

Các biến thành viên là các thuộc tính của một đối tượng (từ quan điểm thiết kế) và chúng được giữ kín để thực hiện đóng gói. Chỉ có thể truy cập các biến này bằng các hàm thành viên công khai.

Hãy để chúng tôi đưa ra các khái niệm ở trên để đặt và nhận giá trị của các thành viên lớp khác nhau trong một lớp –

sử dụng Hệ thống;

không gian tên BoxApplication {
   Hộp lớp {
      độ dài đôi riêng; // Chiều dài của một hộp
      bề rộng đôi tư nhân; // Bề rộng của một hộp
      chiều cao gấp đôi tư nhân; // Chiều cao của hộp
      
      public void setLength (double len) {
         length = len;
      }
      public void setBreadth (double bre) {
         breadth = bre;
      }
      public void setHeight (double hei) {
         chiều cao = hei;
      }
      public double getVolume () {
         trả về chiều dài * chiều rộng * chiều cao;
      }
   }
   lớp học Boxtester {
      static void Main (string [] args) {
         Box Box1 = new Box (); // Khai báo Box1 kiểu Box
         Box Box2 = new Box ();
         khối lượng gấp đôi;
         
         // Khai báo Box2 kiểu Box
         // đặc tả hộp 1
         Box1.setLength (6,0);
         Box1.setBreadth (7,0);
         Box1.setHeight (5.0);
         
         // đặc tả hộp 2
         Box2.setLength (12.0);
         Box2.setBreadth (13.0);
         Box2.setHeight (10.0);
         
         // thể tích của hộp 1
         volume = Box1.getVolume ();
         Console.WriteLine ("Khối lượng của Box1: {0}", khối lượng);
         
         // thể tích của hộp 2
         volume = Box2.getVolume ();
         Console.WriteLine ("Khối lượng của Box2: {0}", khối lượng);
         
         Console.ReadKey ();
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Khối lượng hộp1: 210
Khối lượng của Box2: 1560

Trình tạo C #

Một phương thức khởi tạo của lớp là một hàm thành viên đặc biệt của một lớp được thực thi bất cứ khi nào chúng ta tạo các đối tượng mới của lớp đó.

Một hàm tạo có tên giống hệt với tên của lớp và nó không có bất kỳ kiểu trả về nào. Ví dụ sau giải thích khái niệm về hàm tạo –

sử dụng Hệ thống;

không gian tên LineApplication {
   dòng lớp {
      độ dài đôi riêng; // Độ dài của một dòng
      
      Dòng công khai () {
         Console.WriteLine ("Đối tượng đang được tạo");
      }
      public void setLength (double len) {
         length = len;
      }
      public double getLength () {
         chiều dài trả về;
      }

      static void Main (string [] args) {
         Dòng dòng = new Dòng ();
         
         // đặt độ dài dòng
         line.setLength (6.0);
         Console.WriteLine ("Độ dài dòng: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Đối tượng đang được tạo
Độ dài của dòng: 6

Một phương thức khởi tạo mặc định không có bất kỳ tham số nào nhưng nếu bạn cần, một phương thức khởi tạo có thể có các tham số. Các hàm tạo như vậy được gọi là các hàm tạo tham số hóa. Kỹ thuật này giúp bạn gán giá trị ban đầu cho một đối tượng tại thời điểm tạo ra đối tượng như thể hiện trong ví dụ sau –

sử dụng Hệ thống;

không gian tên LineApplication {
   dòng lớp {
      độ dài đôi riêng; // Độ dài của một dòng
      
      public Line (double len) {// Hàm tạo được tham số hóa
         Console.WriteLine ("Đối tượng đang được tạo, length = {0}", len);
         length = len;
      }
      public void setLength (double len) {
         length = len;
      }
      public double getLength () {
         chiều dài trả về;
      }
      static void Main (string [] args) {
         Dòng dòng = new Dòng (10.0);
         Console.WriteLine ("Độ dài dòng: {0}", line.getLength ());
         
         // đặt độ dài dòng
         line.setLength (6.0);
         Console.WriteLine ("Độ dài dòng: {0}", line.getLength ());
         Console.ReadKey ();
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Đối tượng đang được tạo, chiều dài = 10
Độ dài của dòng: 10
Độ dài của dòng: 6

Bộ hủy C #

Một hàm hủy là một hàm thành viên đặc biệt của một lớp được thực thi bất cứ khi nào một đối tượng của lớp đó vượt ra khỏi phạm vi. Hàm hủy có tên chính xác giống với tên của lớp có dấu ngã ở trước (~) và nó không thể trả về giá trị cũng như không thể nhận bất kỳ tham số nào.

Xem Thêm  Tham gia bằng Python: Định nghĩa, Cách sử dụng, Cú pháp và Tham số - cách sử dụng tham gia trong python

Trình hủy có thể rất hữu ích để giải phóng tài nguyên bộ nhớ trước khi thoát khỏi chương trình. Bộ hủy không thể được kế thừa hoặc quá tải.

Ví dụ sau giải thích khái niệm hàm hủy –

sử dụng Hệ thống;

không gian tên LineApplication {
   dòng lớp {
      độ dài đôi riêng; // Độ dài của một dòng
      
      public Line () {// hàm tạo
         Console.WriteLine ("Đối tượng đang được tạo");
      }
      ~ Dòng () {// hàm hủy
         Console.WriteLine ("Đối tượng đang bị xóa");
      }
      public void setLength (double len) {
         length = len;
      }
      public double getLength () {
         chiều dài trả về;
      }
      static void Main (string [] args) {
         Dòng dòng = new Dòng ();

         // đặt độ dài dòng
         line.setLength (6.0);
         Console.WriteLine ("Độ dài dòng: {0}", line.getLength ());
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Đối tượng đang được tạo
Độ dài của dòng: 6
Đối tượng đang bị xóa

Các thành viên tĩnh của lớp C #

Chúng tôi có thể xác định các thành viên của lớp là tĩnh bằng cách sử dụng từ khóa tĩnh . Khi chúng ta khai báo một thành viên của một lớp là static, điều đó có nghĩa là cho dù có bao nhiêu đối tượng của lớp được tạo, thì chỉ có một bản sao của thành viên tĩnh.

Từ khóa static ngụ ý rằng chỉ có một trường hợp thành viên tồn tại cho một lớp. Các biến static được sử dụng để định nghĩa các hằng số vì các giá trị của chúng có thể được truy xuất bằng cách gọi lớp mà không cần tạo một thể hiện của nó. Các biến static có thể được khởi tạo bên ngoài hàm thành viên hoặc định nghĩa lớp. Bạn cũng có thể khởi tạo các biến tĩnh bên trong định nghĩa lớp.

Xem Thêm  Cách lấy dữ liệu biểu mẫu HTML trong Javascript (Ví dụ đơn giản) - cách thu thập dữ liệu biểu mẫu từ html

Ví dụ sau minh họa việc sử dụng biến tĩnh

sử dụng Hệ thống;

không gian tên StaticVarApplication {
   lớp StaticVar {
      public static int num;
      
      public void count () {
         num ++;
      }
      public int getNum () {
         trả về num;
      }
   }
   lớp StaticTester {
      static void Main (string [] args) {
         StaticVar s1 = new StaticVar ();
         StaticVar s2 = new StaticVar ();
         
         s1.count ();
         s1.count ();
         s1.count ();
         
         s2.count ();
         s2.count ();
         s2.count ();
         
         Console.WriteLine ("Biến num cho s1: {0}", s1.getNum ());
         Console.WriteLine ("Biến num cho s2: {0}", s2.getNum ());
         Console.ReadKey ();
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Biến số cho s1: 6
Biến số cho s2: 6

Bạn cũng có thể khai báo một hàm thành viên tĩnh . Các hàm như vậy chỉ có thể truy cập các biến tĩnh. Các hàm tĩnh tồn tại ngay cả trước khi đối tượng được tạo. Ví dụ sau minh họa việc sử dụng hàm tĩnh

sử dụng Hệ thống;

không gian tên StaticVarApplication {
   lớp StaticVar {
      public static int num;
      
      public void count () {
         num ++;
      }
      public static int getNum () {
         trả về num;
      }
   }
   lớp StaticTester {
      static void Main (string [] args) {
         StaticVar s = new StaticVar ();
         
         s.count ();
         s.count ();
         s.count ();
         
         Console.WriteLine ("Biến num: {0}", StaticVar.getNum ());
         Console.ReadKey ();
      }
   }
}

Khi mã trên được biên dịch và thực thi, nó tạo ra kết quả sau –

Số biến: 3

Quảng cáo


Xem thêm những thông tin liên quan đến chủ đề c gương điển hình

Gương điển hình tiên tiến Cô Trần Thị Ánh Thủy

  • Tác giả: Linh
  • Ngày đăng: 2021-06-01
  • Đánh giá: 4 ⭐ ( 8257 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Kế hoạch 79/KH-UBND 2022 bồi dưỡng gương điển hình tiên tiến Hưng Yên

  • Tác giả: thuvienphapluat.vn
  • Đánh giá: 5 ⭐ ( 4202 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

BÀI DỰ THI CUỘC THI VIẾT VỀ GƯƠNG ĐIỂN HÌNH TIÊN TIẾN – “NGƯỜI TỐT VIỆC TỐT” TRONG PHONG TRÀO THI ĐUA YÊU NƯỚC QUẬN THANH XUÂN NĂM 2021 “Cô Phó Hiệu trưởng, tấm gương sáng điển hình”

  • Tác giả: mnthanglong.pgdthanhxuan.edu.vn
  • Đánh giá: 5 ⭐ ( 2689 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Bài thi viết về gương điển hình tiên tiến, “Người tốt, việc tốt” tháng 01/2022

  • Tác giả: thcsdaithanh.edu.vn
  • Đánh giá: 3 ⭐ ( 6877 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Thầy Tống Bá Đức – Người lãnh đạo tận tâm, nhiệt huyết với nghề “Trồng Người”

Gương điển hình

  • Tác giả: thmythuy.hcm.edu.vn
  • Đánh giá: 5 ⭐ ( 6837 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tiểu Học Mỹ Thủy

Bài viết về Những tấm gương điển hình làm theo lời Bác

  • Tác giả: thhuongson.vinhphuc.edu.vn
  • Đánh giá: 3 ⭐ ( 3585 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cổng thông tin điện tử, Sở giáo dục và Đào tạo Vĩnh Phúc

Viết về tấm gương điển hình tiên tiến – Cô giáo Dương Thị Thu Hiền

  • Tác giả: ththanhxuanbac.pgdthanhxuan.edu.vn
  • Đánh giá: 4 ⭐ ( 2456 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình