C# - C Sharp: Lớp Object | V1Study

Học viện Đào tạo và Công nghệ V1Study
  • Đào tạo Độ tuổi từ 5 - 11 Độ tuổi từ 12 - 17 Từ 18 tuổi
  • Lập trình Python Lập trình C C++ Java C# - C Sharp Android Scratch Pascal Robot mBot
  • Web ReactJS HTML5 CSS3 JavaScript Node.js JSP ASP.NET Core jQuery PHP
  • FW-CMS Laravel AngularJS Flutter Magento Bootstrap VueJS CodeIgnitor WordPress Sass Drupal
  • Video Video Python Video Lập trình C Video C# Video Java Video HTML5-CSS3-JavaScript Video SQL Server Video PHP Video jQuery Video Android Video C++ Video Scratch
  • Video1 Video XML-JSON Video MySQL Video Excel Video Giải thuật và Lập trình Video Sức khỏe Video Drupal Video mBot Video Giáo dục - Khoa học
  • Other Unity Giải thuật và lập trình Giải thuật và lập trình - C CCNA Mạng máy tính Design Patterns English Facebook SEO Git Tin học đại cương Japanese App-Uti Download
  • Data SQL Server XML JSON MySQL
  • News
Học viện Đào tạo và Công nghệ V1Study ≡ C# - C Sharp Core Giới thiệu Khả năng của C# Quy tắc chung Từ khóa Kiểu dữ liệu Biến và hằng Phép toán số học Phép gán và gán rút gọn Phép toán so sánh Phép toán logic Phép toán logic nhị phân Độ ưu tiên phép toán if-else Toán tử điều kiện ba ngôi ?: switch-case Vòng lặp while Vòng lặp do-while Vòng lặp for và foreach Vòng lặp lồng break và continue Mảng (Array) Hàm (Function) out và ref Biến global và biến local Common Language Runtime Lớp Object Nạp chồng toán hạng Property Indexer Namespace Singleton Design Pattern Con trỏ (Pointer) trong C# Delegate Event Collection ArrayList Hashtable SortedList Dictionary generic Generic Tạo và sử dụng generic Iterator Phương thức không tên Partial Nullable Kiểu liệt kê (enum) Một số phím tắt thường dùng trong Visual Studio try-finally Các mức khả năng truy cập Đa luồng (MultiThreading) Lập trình song song (Concurrency programming) I/O File Tổng quan Ngôn ngữ tích hợp truy vấn (LINQ) Giới thiệu về truy vấn LINQ Biểu thức nameof Attributes using yield record Random trong C# Chuỗi (string) và các hàm xử lý chuỗi trong C# OOP Lớp (class) và đối tượng (object) Đóng gói (Encapsulation) Class Truy cập các trường và phương thức của đối tượng Hàm tạo (Constructor) Từ khóa this Từ khóa static Thừa kế (Inheritance) Truy cập hàm tạo của lớp cha từ lớp con Ghi đè phương thức (Overriding) với new Interface Abstract class & Interface Từ khóa base Đa hình (Polymorphism) Bài tập Bài tập cơ bản Bài tập phần điều kiện Bài tập phần vòng lặp Bài tập phần mảng số Bài tập phần chuỗi và mảng chuỗi Bài tập phần hàm Bài tập phần Class Bài tập phần Thừa kế & Đa hình Bài tập phần Abstract Class & Interface Bài tập phần Windows Forms Practical 1 Practical 2: Products Management System Practical 3: Zoo Management System Practical 4: Animal Management System Practical 5: News Management System Practical 6: Phonebook Management System Practical 7: Marks Management System Practical 8: Students Classify Management System Practical 9: Readers Management System Practical 10: Movies Management System Practical 11: Students Management System Practical 12: Books Management System Practical 13: Football Management System Practical 14: Users Management System Quiz Solutions Bài làm mẫu 1 Bài làm mẫu 2 Products Management System Animal Management System News Management System Students Management System Football Management System Taught Mảng răng cưa Property ref và out Thừa kế (Inheritant) Các cách thức nhập liệu Convert, Parse, TryParse WinForm Hộp thoại (Dialog) trong C# Tham khảo Một số thao tác với chuỗi (string) Cách tạo màu và kích thước cho đường viền và chữ của GroupBox Kết nối WinForm, WebForm tới SQL Server Xử lý nhiều phương thức Main() trong C# Kiểu tham chiếu (reference type) trong C# Toán tử await - Chờ đợi không đồng bộ để hoàn thành một tác vụ Câu lệnh lock - Đảm bảo quyền truy cập duy nhất vào tài nguyên được chia sẻ Cài đặt, update, xóa DotNet EntityFramework View component Tạo Migration mc:Ignorable=d có nghĩa là gì trong WPF? Tại sao người mới nên học ngôn ngữ lập trình C# WPF Bảng (Table) trong WPF WPF Quiz Model-View-ViewModel (MVVM) Lập trình không đồng bộ Tổng quan Kịch bản lập trình không đồng bộ C# - C Sharp: Lớp Object Khóa học qua video: Lập trình Python All Lập trình C# All SQL Server All Lập trình C Java PHP HTML5-CSS3-JavaScript Đăng ký Hội viên Tất cả các video dành cho hội viên

Trong C#, nếu bạn không chỉ ra một lớp được thừa kế từ lớp khác thì trình biên dịch sẽ tự động hiểu rằng lớp của bạn thừa kế từ lớp Object. Đều này có nghĩa là ngoài những thuộc tính và phương thức mà bạn định nghĩa thì bạn có thể truy cập đến những phương thức protected và public của lớp Object. Và những phương thức này cũng có trong tất cả lớp mà bạn định nghĩa.

Một số phương thức được định nghĩa trong lớp Object là:

Phương thức

Bổ từ truy cập

Chức năng

string ToString()

public virtual

Trả về một chuỗi mô tả của đối tượng

int GetHashTable()

public virtual

Được sử dụng nếu thi hành từ điển

bool Equals(object obj)

public virtual

So sánh các thực thể của đối tượng

bool Equals(object objA, object objB)

public static

So sánh các thực thể của đối tượng

bool ReferenceEquals(object objA, object objB)

public static

So sánh hai sự tham khảo đến một đối tượng

Type GetType()

public

Trả về chi tiết kiểu của một đối tượng.

object MemberwiseClone()

protected

tạo ra một bản copy của đối tượng

void Finalize()

protected virtual

Đây là một dạng Destructor của .Net

Chúng ta không thể hiểu chính xát cách sử dụng của mọi phương thức trong lớp Object vào giai đoạn này.

Phương thức ToString()

Phương thức ToString() rất tiện lợi khi bạn muốn lấy một chuỗi mô tả đối tượng. Ví dụ:

int i = -50;

string str = i.ToString(); //returns "-50"

Thêm một ví dụ khác :

enum Colors {Red, Orange, Yellow};

// later on in code...

Colors favoriteColor = Colors.Orange;

string str = favoriteColor.ToString(); //returns "Orange"

Object.ToString() được khai báo như virtual . Trong C#, các kiểu dữ liệu có sẳn đã được override cho chúng ta để trả chuỗi đúng với sự mô tả của các kiểu đó. Nếu bạn không override phương thức ToString() trong lớp bạn định nghĩa, thì lớp bạn sẽ thừa kế sự thực thi phương thức ToString() của system.Object và xuất ra tên lớp của bạn. Nếu bạn muốn phương thức ToString() trả về một chuỗi chứa nội dung thông tin về giá trị của đối tượng của lớp bạn tạo ra thì bạn phải override phương thức ToString().

Ví dụ:

using System; namespace Wrox.ProCSharp.OOCSharp { classMoney { privatedecimal amount; publicdecimal Amount { get { return amount; } set { amount = value; } } } classBetterMoney : Money { publicoverridestring ToString() { return"$" + Amount.ToString(); } } classMainEntryPoint { staticvoid Main(string[] args) { Money cash1 = newMoney(); cash1.Amount = 40M; Console.WriteLine("cash1.ToString() returns: " + cash1.ToString()); cash1 = newBetterMoney(); cash1.Amount = 40M; Console.WriteLine("cash1.ToString() returns: " + cash1.ToString()); Console.ReadLine(); } } }

Trong ví dụ trên, phương thức Main() trước tiên khởi tạo đối tượng cash1 của lớp Money, sau đó lại cũng khởi tạo chính đối tượng cash1 nhưng là của lớp BetterMoney. Trong cả hai trường hợp cash1 đều gọi phương thức ToString() nhưng với đối tượng cash1 của lớp Money thì sẽ thực thi phương thức của lớp System.Object, còn với đối tượng cash1 của lớp BetterMoney thì sẽ thực thi phương thức override phương thức ToString(). Kết quả sau khi chạy đoạn mã trên sẽ là:

cash1.ToString() returns: Wrox.ProCSharp.OOCSharp.Money cash1.ToString() returns: $40

» Tiếp: Nạp chồng toán hạng « Trước: Common Language Runtime Khóa học qua video: Lập trình Python All Lập trình C# All SQL Server All Lập trình C Java PHP HTML5-CSS3-JavaScript Đăng ký Hội viên Tất cả các video dành cho hội viên Khóa học qua video: Lập trình Python All Lập trình C# All SQL Server All Lập trình C Java PHP HTML5-CSS3-JavaScript Đăng ký Hội viên Tất cả các video dành cho hội viên Copied !!! Copy linkCopied link!
Bạn muốn tìm kiếm điều gì?

Từ khóa » Khởi Tạo Object C#