Mới học qua C# nên còn hơi lúng túng ở properties.Tôi có đoạn code sau:
PHP Code:
using System;
using System.Collections.Generic;
public class HinhCn
{
float cd,cr;
public HinhCn(float a,float b)
{
cd=a;
cr=b;
}
public double Dientich()
{
return (double)(cd*cr);
}
public double Chuvi()
{
return ((cd+cr)*2);
}
public float ThuocTinh
{
get
{
return cd;
}
set
{
cd=5;//không gán bằng value nữa
}
}
}
public class Tester
{
static void Main()
{
float cd,cr;
Console.WriteLine("Chieu dai:");
cd=float.Parse(Console.ReadLine());
Console.WriteLine("Chieu rong;");
cr=float.Parse(Console.ReadLine());
HinhCn hcn=new HinhCn(cd,cr);
Console.WriteLine("\nChu vi:{0},dien tich:{1}",hcn.Chuvi(),hcn.Dientich());
Console.WriteLine("\nThuoc tinh truoc:{0}",hcn.ThuocTinh);
hcn.ThuocTinh++;
Console.WriteLine("\nThuoc tinh sau={0}",hcn.ThuocTinh);
Console.WriteLine("\nChu vi:{0},dien tich:{1}",hcn.Chuvi(),hcn.Dientich());
Console.WriteLine("\nThuoc tinh:{0}",hcn.ThuocTinh);
Console.ReadLine();
}
}
Sẽ có kết quả:
Chieu dai:
10
Chieu rong;
20
Chu vi:60,dien tich:200
Thuoc tinh truoc:10
Thuoc tinh sau=5
Chu vi:50,dien tich:100
Thuoc tinh:5
Nhưng nếu tôi bỏ câu lệnh hcn.ThuocTinh++ đi thì lại in ra được kết quả:
Code:
Chieu dai:
10
Chieu rong;
20
Chu vi:60,dien tich:200
Thuoc tinh truoc:10
Thuoc tinh sau=10
Chu vi:60,dien tich:200
Thuoc tinh:10
Mọi người giải thích hộ tôi tại sao nếu có hcn.ThuocTinh++ thì Thuoc tinh sau lại thay đổi không?