1.(1)编写一个接口ShapePara,要求: 接口中的方法: double getArea():获得图形的面积。double getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的dou

package jiekou1;

public interface ShapePara
{
     //定义常量PI
    final double PI=3.14;
     //定义抽象方法
     //获得图形面积
    double getArea();

    //获得图形周长
    double getCircumference();

}
package jiekou1;

public class Circle implements ShapePara {

    //定义成员变量
    public double radius;
    public double x;
    public double y;

    //定义构造方法
    Circle(double radius)
    {
        this.radius=radius;
        this.x=0;
        this.y=0;
    }

    //定义成员方法
    //返回半径的值
    double getRadius()
    {
        return radius;
    }

    //写入圆心的坐标
    void setCenter(double x, double y)
    {
        this.x=x;
        this.y=y;
    }

    //写入圆的半径
    void setRadius(double radius)
    {
        this.radius=radius;
    }

    //完善得到面积和周长的方法
    @Override
    public double getArea() {

        return PI*radius*radius;
    }

    @Override
    public double getCircumference() {

        return 2*PI*radius;
    }

}
package jiekou1;

public class Shape
{
    //成员变量
    private ShapePara sp;

    public ShapePara getSp() {
        return sp;
    }
    public void setSp(ShapePara sp) {
        this.sp = sp;
    }
    //定义成员方法获得图形面积
    void getArea()
    {
        System.out.println(sp.getArea());
    }
    //定义成员方法获得图形周长
    void getCircumference()
    {
        System.out.println(sp.getCircumference());
    }
}
package jiekou1;

public class Rect extends Shape
{
     //定义成员变量
    private double a;
    private double b;
    public double getA() {
        return a;
    }
    public void setA(double a) {
        this.a = a;
    }
    public double getB() {
        return b;
    }
    public void setB(double b) {
        this.b = b;
    }

    void getArea()
    {
        System.out.println("矩形的面积为:"+a*b);
    }

}
package jiekou1;

public class Text_mianji {

    public static void main(String[] args) {

        Shape yy= new Shape();

        //匿名对象
        Circle cl= new Circle(5);
        cl.setCenter(0, 1);
        cl.setRadius(12);
        yy.setSp(cl);
        System.out.println("圆的圆心坐标为:("+cl.x+","+cl.y+")");
        System.out.println("半径为:"+cl.radius);
        System.out.print("圆的面积为:");
        yy.getArea();
        System.out.print("圆的周长为:");
        yy.getCircumference();

        //实例化矩形对象
        Rect re = new Rect();
        re.setA(20);
        re.setB(12.5);
        System.out.println("矩形的长为:"+re.getA()+"   矩形的宽为:"+re.getB());
        re.getArea();

    }

}

时间: 2024-10-08 20:50:34

1.(1)编写一个接口ShapePara,要求: 接口中的方法: double getArea():获得图形的面积。double getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的dou的相关文章

(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的double型变量x,

package com.hanqi.test; //创建接口 public interface ShapePara { //获取面积的方法 double getArea(); //获取周长的方法 double getCircumference(); } package com.hanqi.test; public class Circle implements ShapePara { //定义圆心 public double radius; //定义圆心的横向坐标 private double

编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型); // 存放圆的半径; ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) //创建Circle对象时将半径初始化为r

package Circle;import java.util.Scanner;public class Circle { private double Radius; public double getRadius() { return Radius; } public void setRadius(double r) { this.Radius=r; } public Circle()//无参构造方法 { this.Radius=0;//初始化为0 System.out.println("圆

【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析

一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口定义的一般形式为: [访问控制符]interface <接口名> { 类型标识符final 符号常量名n = 常数: 返回值类型  方法名([参数列表]); … } 二.接口的特点 1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显

成员变量的定义与使用

成员变量又称为成员属性,它是描述对象状态的数据,是类中很重要的组成成分.本节详细讨论如何来定义成员变量.成员变量的访问权限,以及静态成员变量与实例成员变量之间的区别. 成员变量的定义 定义成员变量的语法如下:[变量修饰符] 类型说明符变量名类的成员变量和在方法中所声明的局部变量都是用户标识符,它们的命名规则相同.变量修饰符是可选项,一个没有变量修饰符的变量定义如下: public class Cuber{ double width,height; int number; } 成员变量的类型可以是

OC基础--对成员变量的封装

#import <Foundation/Foundation.h> //日期结构体 typedef struct{ int year; int month; int day; } Date; @interface School : NSObject { //@public NSString * _name; NSString * _address; Date _createTime; } - (void) introduction; @end #import "School.h&qu

Effective C++:条款22:将成员变量声明为private

(一)为什么不采用public成员变量 (1)首先,从语法一致性考虑,客户唯一能访问对象的方法就是通过成员函数,客户不必考虑是否该记住使用小括号(). (2)其次,使用函数可以让我们对成员变量的处理有更精确的控制.如果我们令成员变量为public,那么每个人都可以读写它! 但如果我们以函数取得或设定其值,我们就可以实现出"不准访问"."只读访问"以及"读写访问",我们甚至可以实现"惟写访问". class AccessLeve

iOS OC 成员变量是强引用还是弱引用

成员变量,本例中的是实例成员变量,是作用于整个类对象内的.从生命周期来看,它比局部变量要长一些,但它默认是私有的,其他对象是无法访问到的. 比如你一个变量放在@interface 中,你申请一个实体时,变量存活周期跟你实体一样. 因为成员变量的作用域是整个类对象内,所以在ARC环境下OC里面的成员变量应该是 strong属性的. 链接:http://www.zhihu.com/question/23347971/answer/24332408 例子: 头文件: @interface ViewCo

C++基础之 成员变量初 始化赋值

摘要: C++成员变量 初始化赋值 你都清楚吗?还有好多坑,好多细节也不知道... 今天在写一个类的时候,由于该类的一个成员变量是引用,所以初始化出现了问题,查了一下之后,才发现,原来引用的初始化和const常量 一样只能在构造函数的初始化列表里初始.突然发现自己的C++基础本科的时候学的有待重温. 至于为什么成员变量中要用到引用,这个主要是该成员变量是另一个类的对象,但是该类却禁止copy[怎么禁止拷贝构造函数?其实很简单,声明为Private即可]. 注解: 在 C++ 标准中(除了C++1

C++自学笔记_特殊的成员变量的初始化方法_《C++ Primer》

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同.这些特殊的类型的成员变量包括: a.引用 b.常量 c.静态 d.静态常量(整型) e.静态常量(非整型) 常量和引用,必须通过参数列表进行初始化. 静态成员变量的初始化也有点特别,是在类外初始化且不能再带有static关键字. #include <iostream> using namespace std; class BClass{ public: BClass():i(1),ci(2),ri(i){} /