Trong phương pháp lập trình hướng đối tượng, một chương trình gồm các đối tượng đa dạng mà tương tác với nhau các cách thức của action. Các action mà một đối tượng có thể nhận được gọi là các phương thức. Các đối tượng cùng loại được xem như là có cùng kiểu hoặc, được xem như là trong cùng lớp.
C# là một ngôn ngữ lập trình hướng đối tượng.
Ví dụ, xét đối tượng Rectangle. Nó có các thuộc tính như length và width. Phụ thuộc vào thiết kế trên. Nó có thể cần những cách để cấp nhận các giá trị của thuộc tính này, tính toán diện tích và hiển thị chi tiết.
Bạn theo dõi ví dụ sau triển khai một lớp Rectangle và cú pháp C# cơ bản của chương trình này.
Để minh họa rõ ràng tính hướng đối tượng của C#, mình sẽ tạo hai class trong hai file riêng rẽ nhau.
Lớp Rectangle: chứa các thuộc tính, phương thức chính
using System; namespace HoclaptrinhCsharp { class Rectangle { // cac bien thanh vien double length; double width; //phuong thuc public void Acceptdetails() { length = 4.5; width = 3.5; } //phuong thuc public double GetArea() { return length * width; } //phuong thuc public void Display() { Console.WriteLine("Chieu dai: {0}", length); Console.WriteLine("Chieu rong: {0}", width); Console.WriteLine("Dien tich: {0}", GetArea()); } } }
Lớp ExecuteRectangle: là lớp chứa phương thức main() để tiến hành thao tác trên đối tượng Rectangle của lớp Rectangle. Đến đây, có lẽ bạn chưa hiểu gì, nhưng không sao vì đây chỉ là chương giúp bạn làm quen với C# thôi.
using System; namespace HoclaptrinhCsharp { class ExecuteRectangle { static void Main(string[] args) { Console.WriteLine("Chuong trinh minh hoa tinh huong doi tuong trong C#"); Console.WriteLine("--------------------------------------------------\n"); //tao doi tuong Rectangle Rectangle r = new Rectangle(); //goi cac phuong thuc cua doi tuong nay r.Acceptdetails(); r.Display(); Console.ReadLine(); Console.ReadKey(); } } }
Nhấn phím F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
Từ khóa using trong C#
Lệnh đầu tiên trong bất kỳ chương trình C# nào là:
using System;
Từ khóa using được sử dụng để bao namespace trong chương trình. Một chương trình C# có thể bao nhiều lệnh using.
Từ khóa class trong C#
Từ khóa class được sử dụng để khai báo một lớp trong C#.
Comments trong C#
Comment được sử dụng để khởi tạo code. Compiler bỏ qua các comment. Các comment đa dòng trong các chương trình C# bắt đầu với /* và kết thúc với */ như sau:
/* dong nay minh hoa comment nhieu dong trong C#. Cu phap co ban C# Ngon ngu lap trinh C# */
Comment đơn dòng được chỉ dẫn bởi ký hiệu '//'. Ví dụ:
// vi du comment don dong trong C#
Biến thành viên trong C#
Các biến là các thuộc tính hoặc thành viên dữ liệu của một lớp, được sử dụng để lưu giữ dữ liệu. Trong chương trình trước đó, lớp Rectangle có hai biến thành viên là length và width.
Hàm thành viên trong C#
Hàm là tập hợp các lệnh mà thực hiện một tác vụ cụ thể. Các hàm thành viên của một lớp được khai báo bên trong lớp đó. Lớp Rectangle chứa 3 hàm thành viên là: AcceptDetails, GetArea và Display.
Thuyết minh một Class trong C#
Trong chương trình trên, lớp ExecuteRectangle chứa phương thức Main() và khởi tạo lớp Rectangle.
Định danh (Identifier) trong C#
Một định danh là một tên được sử dụng để nhận diện một lớp, biến, hàm hoặc bất kỳ mục tự định nghĩa (user-defined).
- Một tên phải bắt đầu với một chữ cái mà có thể được theo sau bởi một dãy các chữ cái, chữ số (0-9) hoặc dấu gạch dưới (_). Ký tự đầu tiên của một định danh không thể là một chữ số.
- Nó phải không chứa bất kỳ khoảng trống hoặc ký tự như ? - + ! @ # % ^ & * ( ) [ ] { } . ; : " ' / và \. Tuy nhiên, dấu gạch dưới có thể được sử dụng.
- Nó không nên là một từ khóa trong C#.
Từ khóa trong C#
Từ khóa là các từ dành riêng (Reserved Keyword) được định nghĩa trước cho C# compiler. Những từ khóa này không thể được sử dụng làm định danh. Tuy nhiên, nếu bạn muốn sử dụng các từ khóa này để làm định danh, bạn có thể đặt ký tự @ ở trước chúng.
Trong C#, một số định danh có ý nghĩa đặc biệt trong ngữ cảnh của code, ví dụ như get và set được gọi là các contextual keyword (từ khóa thuộc ngữ cảnh).
Bảng sau liệt kê các từ khóa dành riêng và các từ khóa thuộc ngữ cảnh trong C#:
Contextual Keyword trong C# | ||||||
---|---|---|---|---|---|---|
Reserved Keyword | ||||||
abstract | as | base | bool | break | byte | case |
catch | char | checked | class | const | continue | decimal |
default | delegate | do | double | else | enum | event |
explicit | extern | false | finally | fixed | float | for |
foreach | goto | if | implicit | in | in (generic modifier) | int |
interface | internal | is | lock | long | namespace | new |
null | object | operator | out | out (generic modifier) | override | params |
private | protected | public | readonly | ref | return | sbyte |
sealed | short | sizeof | stackalloc | static | string | struct |
switch | this | throw | true | try | typeof | uint |
ulong | unchecked | unsafe | ushort | using | virtual | void |
volatile | while | |||||
add | alias | ascending | descending | dynamic | from | get |
global | group | into | join | let | orderby | partial (type) |
partial (method) | remove | select | set |