Trang chủ » Kho tài liệu » Lập trình WEB với ASP.NET MVC 5 (FULL)


Cập nhật ngày: 8/10/2017 10:17:19 AM

Bài 04 - Hướng đối tượng trong CShape



Nạp chồng phương thức
Nạp chồng constructor
Kế thừa
Kế thừa constructor
Ghi đè
Lớp sealed
Tính đa hình trong C#


Video Bài giảng
Video Hướng dẫn thực hành

Phần I

Hướng dẫn thực hành Lab04:

Lab 04.1

Viết chương trình C# thực hiện các công việc sau: Bước 1: Mở Visual Studio 2015, vào menu File -> New -> Project -> chọn loại project Console Application”, nhập tên project, tên solution -> OK.

Bước 2: Tạo lớp Window với code gợi ý như sau:
Bước 3: Tạo lớp Button thừa kế lớp window với code gợi ý như sau:
Bước 4: Tạo tệp ListBox thừa kế lớp window với code gợi ý như sau:
Bước 5: Mở tệp Program.cs và code cho hàm Main theo gợi ý sau:
Bước 6: Nhấn Ctrl+F5 để chạy và xem kết quả

Lab 04.2

Viết chương trình C# thực hiện các công việc sau:
  • Tạo lớp trừu tượng Student với các trường name, year, phương thức hiển thị,  phương thức trừu tượng Average (tính trung bình điểm)
  • Tạo lớp StudentCollege kế thừa từ Student và bổ sung 3 trường score1, score2, score3. Ghi đè phương thức Average và tạo mới phương thức hiển thị.
  • Tạo lớp StudentUniversity kế thừa từ StudentCollege và bổ sung 1 trường score4. Ghi đè phương thức Average và tạo mới phương thức hiển thị.
  • Trong Main viết code để test chương trình.
Bước 1: Kích chuột phải vào Solution “Lab04” chọn Add -> New Project ->Nhập tên -> Chọn OK.
 

 
Bước 2: Tạo lớp Student và code theo gợi ý sau:
Bước 3: Tạo lớp StudentCollege và code theo gợi ý sau:
Bước 4: Tạo lớp StudentUniversity và code theo gợi ý sau:

Bước 5: Trong Program code test như sau:
Bước 6: Nhấn Ctrl+F5 để chạy và xem kết quả


Lab 04.3

Viết chương trình C# thực hiện các công việc sau:
  • Tạo lớp trừu tượng Shape với các trường radius, length, width. Khai báo hai phương thức trừu tượng tính diện tính Area và tính chu vi Cirumference
  • Tạo lớp Circle kế thừa từ Shape và thực thi các phương thức của lớp Shape
  • Tạo lơps Rectangle kế thừa từ Shape và thực thi các phương thức của lớp Shape
  • Trong Main viết code để test chương trình.
Bước 1: Kích chuột phải vào Solution “Lab04” chọn Add -> New Project ->Nhập tên -> Chọn OK.

Bước 2: Tạo lớp trừu tượng Shape và code theo gợi ý sau:
Bước 3: Tạo lớp Circle kế thừa lớ Shape và code theo gợi ý sau:

Bước 4: Tạo lớp Rectangle kế thừa lớp Shape và code theo gợi ý sau:

Bước 5: Trong Program code test như sau:

Bước 6: Nhấn Ctrl+F5 để chạy và xem kết quả


Lab 04.4

Viết chương trình C# thực hiện các công việc sau:
  • Tạo giao diện IPerson với các phương thức Insert, Delete, Update, Display.
  • Tạo lớp Staff thực thi các phương thức trong giao diện IPerson.
  • Tạo lớp Student với các trường id, name, age và thực thi các phương thức trong giao diện IPerson.
  • Trong Main code để test.
Bước 1: Kích chuột phải vào Solution “Lab04” chọn Add -> New Project ->Nhập tên -> Chọn OK
 
Bước 2: Tạo lớp giao diện IPerson và code theo gợi ý sau:
Thực hiện tạo các phương thức thêm (Insert), Sửa (Update), Xóa (Delete) và hiển thị (Display)

Bước 3: Tạo lớp Staff  là lớp triển khai lớp giao diện IPerson và code theo gợi ý sau:

Bước 4: Tạo lớp Student và code theo gợi ý sau:

Bước 5: Trong Program code test như sau:
Bước 6: Nhấn Ctrl+F5 để chạy và xem kết quả


Lab 04.5

Viết chương trình C# thực hiện các công việc sau:
  • Tạo giao diện IDrivable với hai phương thức Start Stop và thuộc tính chỉ đọc Started.
  • Tạo giao diện ISteerable với hai phương thức TurnLeft, TurnRight
  • Tạo giao diện IMovable kế thừa từ 2 giao diện trên bổ sung thêm hai phương thức Accelerate và Brake
  • Tạo lớp Car thực thi từ giao diện IMovable và code cho tất cả các phương thức có thể
  • Trong Main code để test lớp Car.
Bước 1: Kích chuột phải vào Solution “Lab04” chọn Add -> New Project ->Nhập tên -> Chọn OK.


 
Bước 2: Tạo file MultipleInterface và code cho các giao diện theo gợi ý sau:
IDrivable
ISteerable
 
IMovable

Bước 3: Tạo lớp Car và code theo gợi ý sau:
Bước 4: Trong Program code test như sau:

Bước 5: Nhấn Ctrl+F5 để chạy và xem kết quả


Phần II - Bài tự thực hành

Bài 4.1: Tạo ứng dụng C# với các yêu cầu sau.
  • Lớp Account lưu thông tin về tài khoản (Balance – số tiền trong tài khoản). Tạo 1 phương thức constructor với tham số đầu vào là initialize  (số tiền ban đầu).
  • Tạo 2 phương thức cho lớp Account.
    • Deposit(money): là phương thức gửi tiền cho ghi đè, money là số tiền cần gửi, hãy kiểm tra các thông tin cho phù hợp và xuất thông báo.
    • WithDraw(money): là phương thức rút tiền cho ghi đè, money là số tiền rút, hãy kiểm tra các thông tin cho phù hợp và xuất thông báo.
    • GetBalance(): là phương thức trả về số tiền trong tài khoản.
  • Lớp SavingAccount (gửi tiết kiệm) kế thừa từ lớp Account có thêm thông số rate(tỉ lệ lãi suất), tạo phương thức constructor với 2 tham số đầu vào, initialize (số tiền ban đầu), rate, kế thừa constructor của lớp Account. Tạo phương thức GetInterest() (lấy tiền lãi).
  • Lớp CheckAccount (vấn tin, gửi tiền, rút tiền) kế thừa từ lớp Account và có thêm biến FeeTransfer (phí giao dịch). Tạo phương thức constructor với 2 tham số đầu vào Balance, FeeTransfer, sau đó ghi đè 2 phương thức Deposit và WithDraw, GetBalance, mỗi khi gọi phương thức thành công thì số tiền trong tài khoản sẽ bị trừ đi 1 khoản bằng FeeTransfer.
  • Lớp Program để kiểm thử ứng dụng.
Bài 4.2: Tạo ứng dụng C# minh họa lớp abstract và kế thừa như hình sau

Bài 4.3: Tạo ứng dụng C# minh họa interface như sau.

Yêu cầu: Tạo một giao diện tên là IStoreable với các phương thức Write() để lưu nội dung của đối tượng vào file và phương thức Read() để đọc dữ liệu từ file. Sau đó tạo lớp Document thực thi giao diện Istorable để các đối tượng thuộc lớp này có thể đọc từ cơ sở dữ liệu hoặc lưu trữ vào cơ sở dữ liệu. Việc mở file được thực hiện thông qua đối tượng fs thuộc lớp FileStream, việc ghi và đọc file thông qua đối tượng thuộc các lớp  StreamWriter  và  StreamReader.  Đồng thời lớp Document cũng thực thi một giao diện khác tên là IEncryptable, giao diện này có hai phương thức là mã hóa (Encrypt( ))và giải mã (Decrypt( )). Các phương thức được thực thi ở Document chỉ cần in ra thông báo tương ứng.

Bài 4.4: Implement a class named Person and two sub classes of Person named Student and Employee. Make Faculty and Staff sub classes of Employee. A Person has a name, phone number and email address. A student has a program to which he/she enrolled ( Business, Computer Science...) . An Employee has a department, salary and the date hired. A faculty member has office hours and a rank. A staff member has a title. You are required to
  • Override the ToString() to display the class name and the person's name and email address.
  • Provide properties in each class to read and write it's fields
  • Define a CalculateBonus and CalculateVacation as abstract methods in Employee class and implement them in Faculty and Staff as follows
    • Faculty get 1000 + 0.05 x Salary and Staff get 0.06 x Salary
    • Faculty get 5 weeks if they are employed more than 3 years and additional one week if he/she is 
"Senior Lecturer". Otherwise 4 weeks. Staff get 4 weeks for 5 year service. Otherwise get 3 weeks
Nguồn: Chung Trịnh - GTO