Bài 30. Minh họa sự kế thừa, minh họa tính chất private và public các trường dữ liệu trong quá trình kế thừa.
1. Tạo lớp tàu có cấu trúc
class tau
{
//Các trường
dữ liệu
public string hangsx;
public int nhienlieu;
//Khởi tạo mặc
định
public
tau()
{
hangsx = "VinaLine";
nhienlieu = 10;
}
}
2. Tạo lớp tàu chiến, kế thừa lớp tàu:
class tauchien:tau
{ //Khai
báo trường dữ liệu
//2 trường
private và 1 trường public, các trường khác kế thừa từ lớp tau
//trường
private là trường riêng, nên muốn truy cập đến
//2 trường này
cần phải định nghĩa hàm thuộc tính có chứa get và set
//2 trường riêng
này các lớp dẫn xuất không kế thừa được
private
string sung;
private
string dan;
public string chieudai;
//thuộc tính
Sung để tác động đến trường sung
public string Sung
{
set
{ sung = value; }
get
{ return sung; }
}
//thuộc tính
Dan để tác động đến trường dan
public string Dan
{
set
{ dan = value; }
get
{ return dan; }
}
//Khởi tạo giá
trị mặc định của tàu chiến
public
tauchien()
{
sung = "12ly7";
dan = "Lien
thanh";
chieudai = "100m";
}
}
3. Tạo lớp tàu chở hàng, kế thừa lớp tàu chiến
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ct24_kethua
{
class tauchohang:tauchien
{
//Gồm 1 trường
dữ liệu
//Các dữ liệu
khác kế thừa từ lớp tauchien
public int noichuahang;
public
tauchohang()
{
noichuahang=1500;
}
}
}
4. Tại chương trình chính thực hiện
class Program
{
static void Main(string[]
args)
{
tau
a = new tau();
tauchien
b = new tauchien();
tauchohang
c = new tauchohang();
Console.WriteLine("Tau thong thuong:");
Console.WriteLine("Hang san xuat: {0}, Nhien lieu mac dinh {1}",
a.hangsx, a.nhienlieu );
Console.WriteLine("------------------------");
//Lớp tàu
chiến
//Do trường
sung va dan là 2 trường private nên muốn lấy dữ liệu phải thông qua 2 phương thức
Sung và Dan
//hangsx
và nhienlieu kế thừa từ lớp tau sang
Console.WriteLine("TAU
CHIEN:");
Console.WriteLine("Hang san xuat: {0}, Nhien lieu mac dinh {1}",
b.hangsx,b.nhienlieu);
Console.WriteLine("Sung: {0}, Dan: {1}", b.Sung, b.Dan);
Console.WriteLine("Chieu dai: {0} ", b.chieudai);
Console.WriteLine("------------------------");
//Lớp tàu
chở hàng
//c.chieudai
kế thừa từ lớp tàu chiến
//c.nhienlieu
và c.hangsx kế thừa bắc cầu thông qua lớp tàu chiến đến lớp tàu.
Console.WriteLine("TAU CHO HANG:");
Console.WriteLine("Hang san xuat: {0}, Nhien lieu mac dinh {1}",
a.hangsx,c.nhienlieu);
Console.WriteLine("Noi chua hang: {0}", c.noichuahang);
Console.WriteLine("Chieu dai: {0} ", c.chieudai);
Console.ReadKey();
}
}
Không có nhận xét nào:
Đăng nhận xét