您的位置:首页 > 编程语言 > C语言/C++

c++和java类的简单实现

2016-06-21 17:52 447 查看
定义一个圆类,实现面积,周长的计算,定义一个圆柱类,通过继承圆类,实现圆柱的底面积,底面周长,并求出圆柱体的体积

初学写的不好,有问题希望大家指导,像大家学习。

c++的实现:(复习类)

#include <iostream>
#include <cmath>
#define PI 3.14159       // 宏定义π=3.14159
using namespace std;

class Circle
{
protected:
double R;
double circlearea,area; // 底圆周长和面积
public:
Circle(double);
void Input();
void Circlearea();
void Area();
void Output();
};

Circle::Circle(double r)
{
R=r;
}

void Circle::Input()
{
cout<<"圆的半径: "<<endl;
cin>>R;
}

void Circle::Circlearea()
{
circlearea=2*PI*R;
}

void Circle::Area()
{
area=PI*R*R;
}

void Circle::Output()
{
cout<<"圆的周长:"<<circlearea<<endl;
cout<<"圆的面积:"<<area<<endl;
}

class Cylinder:public Circle
{
public:
Cylinder(double ,double );
void Input();
void Bulk();
void Output();
protected:
double height,bulk; // 体积
};

Cylinder::Cylinder(double r,double h):Circle(r),height(h){}

void Cylinder::Input()
{
Circle::Input();
cout<<"以此圆为底的圆柱的高: ";
cin>>height;
}

void Cylinder::Bulk()
{
bulk=PI*R*R*height;
}

void Cylinder::Output()
{
cout<<"圆柱:"<<endl;
Circle::Output();
cout<<"圆柱体的体积:"<<bulk<<endl;
}

int main()
{
Circle x(2);
x.Circlearea();
x.Area();
x.Output();
Cylinder b(1,1);
b.Circlearea();
b.Area();
b.Bulk();
b.Output();
return 0;
}


java的实现:(未修改版)

package Text1;

public class Circle{

protected double radius;

public Circle(){//圆类
radius=0;
}

public Circle(double radius) {
this.radius = radius;
}

public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double area(){
return 3.14*radius*radius;
}

}
class Cyliinder extends Circle{//圆柱类继承圆类

protected double height;

public Cyliinder(){
height=0;
}

public Cyliinder(double radius,double height) {
super(radius);
this.height = height;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}

public double volume(){
return area()*height;
}

}

public class aa{
public static void main(String[] args) {

Circle c1=new Circle(1);
System.out.println("圆:");
//输出圆的半径
System.out.println(c1.getRadius());
//输出圆的面积
System.out.println(c1.area());

Cyliinder c2=new Cyliinder(3,5);
System.out.println("圆柱:");

System.out.println(c2.getRadius());
//输出高
System.out.println(c2.getHeight());
//输出面积
System.out.println(c2.area());
//输出体积
System.out.println(c2.volume());
}
}

java代码(删改之后):



package cn.demo;

/**
* @ClassName: Circle
* @Description: 圆的类
* @author myname
* @date 2016-6-20 下午9:24:23
* @version 1.0
*/

public class Circle
{
/**半径*/
protected double radius;

public Circle()
{
radius=0;
}

public Circle(double radius)
{
this.radius = radius;
}

public double getRadius()
{
return radius;
}

public void setRadius(double radius)
{
this.radius = radius;
}

public double area()
{
return 3.14*radius*radius;
}

}

package cn.demo;

/**
* @ClassName: Cyliinder
* @Description: 圆柱类
* @author myname
* @date 2016-6-20 下午9:25:37
* @version 1.0
*/

public class Cyliinder extends Circle
{
/**高*/
private double height;

public Cyliinder()
{
height=0;
}

public Cyliinder(double radius,double height)
{
super(radius);
this.height = height;
}

public double getHeight()
{
return height;
}

public void setHeight(double height)
{
this.height = height;
}

public double volume()
{
return area()*height;
}

}


package cn.test;

import cn.demo.Circle;
import cn.demo.Cyliinder;

public class DemoTest
{
/**
* @param <Circle>
*
* @Title: main
* @Description: test
* @param @param args    设定文件
* @return void    返回类型
* @throws
*/

public static void main(String[] args)
{
Circle c1=new Circle(1);
System.out.println("圆:");
//输出圆的半径
System.out.println(c1.getRadius());
//输出圆的面积
System.out.println(c1.area());

Cyliinder c2=new Cyliinder(3,5);
System.out.println("圆柱:");

System.out.println(c2.getRadius());
//输出高
System.out.println(c2.getHeight());
//输出面积
System.out.println(c2.area());
//输出体积
System.out.println(c2.volume());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: