Hướng dẫn trừu tượng trong C #. Ở đây chúng ta thảo luận về phần giới thiệu về Trừu tượng trong C #, cú pháp với giải thích và ví dụ tương ứng.

Bạn đang xem : trừu tượng trong c #

Trừu tượng trong C #

Giới thiệu về Trừu tượng trong C #

Tính trừu tượng là một phần quan trọng của Lập trình hướng đối tượng. C # hỗ trợ tính trừu tượng là một quá trình ẩn các chi tiết triển khai và chỉ cung cấp thông tin cần thiết cho người dùng. Trong C #, chúng ta có thể đạt được sự trừu tượng với sự trợ giúp của các lớp và phương thức trừu tượng.

Sau đây là một số điểm quan trọng liên quan đến các lớp trừu tượng:

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, Kiểm tra phần mềm & amp; những người khác

  • Chúng ta có thể xác định các lớp và phương thức trừu tượng bằng cách thêm tiền tố vào tên lớp và tên phương thức bằng từ khóa trừu tượng.
  • Chúng tôi không thể tạo một đối tượng của một lớp trừu tượng.
  • Một lớp trừu tượng có thể chứa các phương thức trừu tượng và không trừu tượng.
  • Một lớp trừu tượng không thể được khai báo là một lớp được niêm phong.

Cú pháp với giải thích:

Chúng ta có thể khai báo lớp và phương thức trừu tượng với sự trợ giúp của từ khóa trừu tượng như được hiển thị trong cú pháp dưới đây:

  // lớp trừu tượng
lớp trừu tượng class_name
{
// phương thức trừu tượng
tóm tắt công khai & lt; return_type & gt; method_name ();
}  

Trong cú pháp trên, chúng ta có thể thấy rằng phương thức trừu tượng không có ai. Việc triển khai các phương thức trừu tượng của một lớp trừu tượng được cung cấp bởi lớp dẫn xuất. Chúng ta có thể truy cập lớp trừu tượng bởi lớp kế thừa từ nó.

Chúng ta không thể khai báo các phương thức trừu tượng bên ngoài lớp trừu tượng nhưng một lớp trừu tượng có thể chứa các phương thức không trừu tượng như được hiển thị trong cú pháp dưới đây:

  lớp trừu tượng class_name
{
// phương thức trừu tượng
tóm tắt công khai & lt; return_type & gt; method_name ();
// phương thức không trừu tượng
công khai & lt; return_type & gt; method_name ()
{
//Mã người dùng
}
}  

Ví dụ về trừu tượng trong C #

Đôi khi, người dùng cần tạo một dạng tổng quát của các phương thức và thuộc tính trong lớp cha có thể được chia sẻ bởi toàn bộ lớp con của nó. Các lớp con này có thể sử dụng các phương thức và thuộc tính này theo yêu cầu của họ bằng cách cung cấp triển khai các phương thức tương ứng.

Dưới đây là các ví dụ:

Ví dụ # 1

  using System;
trừu tượng không gian tên
{
// lớp trừu tượng
lớp trừu tượng Hình dạng
{
// các phương thức trừu tượng
công khai trừu tượng kép tính toánArea ();
public abstract void displayDetails (vùng kép);
}
// Lớp hình chữ nhật kế thừa lớp Hình dạng
lớp Hình chữ nhật: Hình dạng
{
// thành viên dữ liệu riêng tư
độ dài đôi riêng;
bề rộng đôi tư nhân;
Hình chữ nhật công cộng (chiều dài gấp đôi, chiều rộng gấp đôi)
{
this.length = chiều dài;
this.breadth = width;
}
// ghi đè các phương thức trừu tượng của lớp Shape bằng từ khóa 'override'
ghi đè công khai kép tính toánArea ()
{
return (chiều dài * chiều rộng);
}
ghi đè công khai void displayDetails (vùng kép)
{
Console.Write ("Chiều dài của hình chữ nhật:" + length);
Console.Write ("\ n Chiều rộng hình chữ nhật:" + chiều rộng);
Console.Write ("\ nArea của hình chữ nhật:" + area);
}
}
// Lớp Square kế thừa lớp Shape
class Square: Hình dạng {
// thành viên dữ liệu riêng tư
tư nhân đôi bên;
Quảng trường công cộng (hai mặt)
{
this.side = bên;
}
// ghi đè các phương thức trừu tượng của lớp Shape bằng từ khóa 'override'
ghi đè công khai kép tính toánArea ()
{
return (bên * bên);
}
ghi đè công khai void displayDetails (vùng kép)
{
Console.Write ("Độ dài một cạnh của hình vuông:" + side);
Console.Write ("\ nArea of ​​square:" + area);
}
}
lớp công khai AbstractionDemo
{
public static void Main (string [] args)
{
diện tích gấp đôi;
// tạo tham chiếu của lớp Shape bằng lớp Rectangle
Hình dạng shapeRec = new Rectangle (5,6);
area = shapeRec.calculateArea ();
shapeRec.displayDetails (khu vực);
Console.WriteLine ("\ n");
// tạo tham chiếu của lớp Shape bằng cách sử dụng lớp Square
Shape shapeSquare = new Square (4);
area = shapeSquare.calculateArea ();
shapeSquare.displayDetails (khu vực);
}
}
}  

Đầu ra:

Xem Thêm  Các kiểu dữ liệu SQL cho MySQL, SQL Server và MS Access - kiểu dữ liệu int máy chủ sql

phần tóm tắt trong c # 1

Trong ví dụ trên, cả hai phương thức được định nghĩa trong lớp trừu tượng ‘Shape’ đều là phương thức trừu tượng. Do đó, Shape là một lớp cơ sở trừu tượng thuần túy và lớp dẫn xuất cần thiết để cung cấp triển khai cho cả hai phương thức của lớp Shape.

Ví dụ # 2

  using System;
lớp trừu tượng Điện thoại di động
{
public trừu tượng void mobileDetails ();
}
lớp Apple: Di động
{
ghi đè công khai void mobileDetails ()
{
Console.WriteLine ("Model: IphoneX");
Console.WriteLine ("Kích thước màn hình: 5,8 inch");
Console.WriteLine ("Bộ xử lý: Bộ xử lý A11 Bionic");
}
}
lớp Motorola: Di động
{
ghi đè công khai void mobileDetails ()
{
Console.WriteLine ("Model: G5 plus");
Console.WriteLine ("Kích thước màn hình: 5,2 inch");
Console.WriteLine ("Bộ xử lý: Snapdragon tám nhân");
}
}
lớp công khai AbstractionDemo
{
public static void Main (string [] args)
{
Mobile mobileApple = Apple mới ();
mobileApple.mobileDetails ();
Console.WriteLine ("");
Mobile mobileMoto = new Motorola ();
mobileMoto.mobileDetails ();
}
}  

Đầu ra:

phần tóm tắt trong c # 2

Ví dụ # 3

Một lớp trừu tượng cũng có thể chứa các phương thức không trừu tượng như được hiển thị trong ví dụ dưới đây:

  using System;
trừu tượng không gian tên
{
lớp trừu tượng Chim
{
// phương thức trừu tượng
public trừu tượng void birdDetails ();
// phương thức không trừu tượng
public void canFly (bool canFly, string name)
{
nếu (canFly)
Console.WriteLine (tên + "có thể bay");
khác
Console.WriteLine (tên + "không thể bay");
}
}
lớp Vẹt: Chim
{
ghi đè công khai void birdDetails ()
{
Console.WriteLine ("Những con vẹt có màu sắc và kích thước khác nhau");
}
}
lớp Đà điểu: Chim
{
ghi đè công khai void birdDetails ()
{
Console.WriteLine ("Đà điểu là loài chim lớn nhất còn sống");
}
}
lớp công khai AbstractionDemo
{
public static void Main (string [] args)
{
Birds birdParrot = new Parrot ();
birdParrot.birdDetails ();
birdParrot.canFly (true, "Con vẹt");
Console.WriteLine ("");
Birds birdOstrich = new Ostrich ();
birdOstrich.birdDetails ();
birdOstrich.canFly (sai, "Đà điểu");
}
}
}  

Đầu ra:

Ví dụ # 3

Ví dụ # 4

Ngoài các lớp và phương thức trừu tượng, chúng ta có thể đạt được tính trừu tượng trong C # bằng cách sử dụng các công cụ sửa đổi quyền truy cập riêng tư như được minh họa trong ví dụ dưới đây:

  using System;
trừu tượng không gian tên
{
Ngân hàng hạng công cộng
{
tên chuỗi riêng;
nhánh chuỗi riêng;
chuỗi riêng ifscCode;
chuỗi công khai Tên
{
lấy {tên trả về; }
đặt {tên = giá trị; }
}
Chi nhánh chuỗi công khai
{
lấy {nhánh trả về; }
set {branch = value; }
}
chuỗi công khai IfscCode
{
lấy {return ifscCode; }
đặt {ifscCode = value; }
}
public void bankDetails ()
{
Console.WriteLine ("Tên ngân hàng:" + Tên);
Console.WriteLine ("Tên chi nhánh:" + Chi nhánh);
Console.WriteLine ("Mã IFSC:" + IfscCode);
}
public void bankAddress ()
{
Console.WriteLine ("Địa chỉ: Andheri, Mumbai");
}
private void numberOfAccounts ()
{
Console.WriteLine ("Thông tin tài khoản");
}
private void numberOfLockers ()
{
Console.WriteLine ("Thông tin về tủ khóa");
}
}
lớp công khai AbstractionDemo
{
public static void Main (string [] args)
{
Ngân hàng ngân hàng = new Bank ();
bank.Name = "ABC";
bank.Branch = "XYZ";
bank.IfscCode = "ABC123";
bank.bankDetails ();
bank.bankAddress ();
// Lỗi -'Bank.numberOfAccounts () 'không thể truy cập được do mức độ bảo vệ của nó
//bank.numberOfAccounts ();
// Lỗi - 'Bank.numberOfLockers ()' không thể truy cập được do mức độ bảo vệ của nó
//bank.numberOfLockers ();
}
}
}  

Đầu ra:

Xem Thêm  Các biến trong Python - giá trị của biến trong python

Trong ví dụ trên, chúng ta có thể thấy rằng các phương thức public có thể được truy cập từ các lớp khác nhưng chúng ta không thể gọi các phương thức private từ các lớp khác, và do đó, nó giúp đạt được sự trừu tượng bằng cách cung cấp thông tin cần thiết duy nhất và ẩn các chi tiết khác.

Kết luận – Tính trừu tượng trong C #

Tính trừu tượng trong Lập trình hướng đối tượng được sử dụng để cung cấp bảo mật bằng cách ẩn các chi tiết triển khai và chỉ cung cấp thông tin cần thiết cho người dùng. Chúng tôi sử dụng một lớp trừu tượng, trong đó, với sự trợ giúp của các phương thức trừu tượng, chúng tôi có thể ẩn các chi tiết triển khai. Tính trừu tượng cũng có thể đạt được bằng cách sử dụng Giao diện.

Các bài báo được đề xuất

Đây là một hướng dẫn về Trừu tượng hóa trong C #. Ở đây chúng ta thảo luận về phần mở đầu, cú pháp với giải thích và ví dụ. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề trừu tượng trong c # là gì

Relationship between Virtual Functions, Pure Virtual Functions and Abstract Classes in OOP explained

alt

  • Tác giả: CodeBeauty
  • Ngày đăng: 2021-04-15
  • Đánh giá: 4 ⭐ ( 2391 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
    C++ Lambdas e-book – free download here: https://bit.ly/freeCppE-Book
    Entire Object-Pascal step-by-step guide – free download here: https://bit.ly/FreeObjectPascalEbook

    In this Object-Oriented Programming course, I’m explaining the relationship and purpose of virtual functions, pure virtual functions, and abstract classes.

    C++ Virtual functions are functions defined in the base class and redefined in the derived class, whose main purpose is achieving runtime-polymorphism. Virtual functions are defined with the “virtual” keyword in the base class. You can find a detailed explanation and an example in this video, and I’ll also show you how the runtime polymorphism achieved by using virtual functions looks like.

    Pure virtual functions in C++ (abstract function) in C++ is a virtual function for which we don’t write implementation in the base class, but we only declare it. In order to declare a pure virtual function, you need to assign 0 in the declaration

    Abstract class in C++ is a class that has at least one pure virtual function. The classes which inherit the abstract class must provide a definition for the pure virtual functions, otherwise, they would be abstract themselves and you wouldn’t be able to instantiate them.
    The main purpose of an abstract class is to provide an appropriate base class from which other classes can inherit.

    🎁 Create Modern Apps, 5x faster, with less code, Download FREE C++Builder Trial: https://bit.ly/CppBuilderFree

    ☕ I recently created the option for you to buy me a coffee/cookie, so if you enjoy my content and find it useful consider that small gesture of gratitude for all the hard work that I put into these videos. That would mean a lot to me! ❤️❤️❤️
    https://bit.ly/CodeBeauty_BuyMeACoffee
    Of course, don’t feel pressured if you can’t, I will continue posting free educational content for you nevertheless. 😇

    Contents:
    00:00 – Into

    01:31 – Virtual Functions
    12:31 – Pure Virtual Functions and Abstract Classes
    17:38 – Polymorphism example

    🎹 Fun fact, on my language accordion is called “Harmonika” like the word harmony.
    Accordion compositions I like: https://bit.ly/compositionsILike
    My favorite composition (The Danube Waves): https://bit.ly/TheDanubeWaves

    Tag me on you Instagram stories:
    Instagram 📸 – https://www.instagram.com/TrueCodeBeauty
    Twitter 🐦- https://twitter.com/TrueCodeBeauty

Tính trừu tượng trong C++

  • Tác giả: viettuts.vn
  • Đánh giá: 4 ⭐ ( 2672 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trừu tượng hóa dữ liệu (Data abstraction) liên quan tới việc chỉ cung cấp thông tin cần thiết tới bên ngoài và ẩn chi tiết cơ sở của chúng, ví dụ: để biểu diễn thông tin cần thiết trong chương trình mà không hiển thị chi tiết về chúng.

Lớp trừu tượng Abstract class trong C# – Minh Hoàng Blog

  • Tác giả: minhhn.com
  • Đánh giá: 4 ⭐ ( 9786 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lớp trừu tượng và interface trong C# (Bài 7)

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

Tính trừu tượng trong OOP và các loại trừu tượng bạn cần biết

  • Tác giả: vn.got-it.ai
  • Đánh giá: 3 ⭐ ( 4162 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết trình bày về Tính trừu tượng trong OOP và các loại trừu tượng bạn cần biết. Đây là những thông tin cần thiết cho bất kỳ lập trình viên nào.

Interface trong C++ (Lớp trừu tượng)

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 9916 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Interface trong C++ (Lớp trừu tượng) – Học C++ cơ bản và nâng cao cho người mới học từ Ngôn ngữ C++ hướng đối tượng, Cú pháp cơ bản, Biến, Hàm, Kiểu dữ liệu, Tính kế thừa, Nạp chồng, Tính đa hình, Tính bao đóng, Xử lý ngoại lệ, Template, Overriding, Toán tử, Vòng lặp, Điều khiển luồng, Interface, Thư viện STL, Iterator, Con trỏ, Mảng, Exception Handling, Overloading, Namespace, Thư viện chuẩn C++ và Signal Handling

Abstract class (Lớp trừu tượng ) trong C#

  • Tác giả: ungdunglaptrinh.com
  • Đánh giá: 3 ⭐ ( 6912 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

Xem Thêm  Tạo bản sao lưu cơ sở dữ liệu đầy đủ - SQL Server - máy chủ sql cơ sở dữ liệu sao lưu

By ads_php