2.编写C#控制台应用程序,在其中创建物体类PhysicalObject,通过其私有字段来存放重量和体积,通过公有属性来访问其重量、体积、密度,并通过公有方法来判断该物体是否会在水中下沉。 提示:(1)浮力计算公式:ρ物>ρ液, 下沉 ,G物>F浮 ρ物=ρ液, 悬浮 ,G物=F浮 (基本物体是空心的) ρ物<ρ液, 上浮,(静止后漂浮)G物<F浮 (2)纯水的密度是1k/cm3,一克每立方厘米,1升水的重量为1kg. (3)比重(ρ)=物体的重量/物体的体积3.编写C#控制台应用程序,对第2题进行扩展,从PhysicalObject中派生出移动物体类MovingObject,在其中增加物体的速度信息,并实现物体动量和动能的计算。 提示:动量计算公式p=m*v(物体质量*速度) 动能计算公式p=m*v*v/2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class PhysicalObject
{
private
double whigh;
double tiji;
double midu;
public PhysicalObject() { }
public PhysicalObject(double whigh, double tiji, double midu)
{
this.midu = midu;
this.tiji = tiji;
this.whigh = whigh;
}
public double getwhigh()
{
return whigh;
}
public double gettiji()
{
return tiji;
}
public double getmidu()
{
return midu;
}
public void panduan()
{
if (midu > 1)
Console.WriteLine("会下沉!");
else
Console.WriteLine("不会下沉!");
}
}
class MovingObject:PhysicalObject
{
private double speed;
public MovingObject() { }
public MovingObject(double whigh, double tiji, double midu,double speed): base(whigh, tiji, midu)
{
this.speed = speed;
}
public double dongliang()
{
return getwhigh() * speed;
}
public double dongneng()
{
return getwhigh() * 1 / 2 * speed * speed;
}
}
class Program
{
static void Main(string[] args)
{
PhysicalObject ss = new PhysicalObject(20, 20, 20);
ss.panduan();
Console.WriteLine("体积:{0}", ss.gettiji());
MovingObject s = new MovingObject(20, 20, 20, 20);
Console.WriteLine("物体的动能和动量分别是:{0} {1}", s.dongneng(), s.dongliang());
Console.ReadKey();
}
}
}