java编程接口程序

java编程接口程序,第1张

public interface Shape {

    

    double perimeter = 0;

    double area = 0;

    

    public abstract double calPerimeter();

    public abstract double calArea();

    

    public double getPerimeter();

    public double getArea();

}

public class Circular implements Shape {

    

    private final double PI = 31415926;

    

    private double Radius;

    

    public Circular(double radius) {

        thisRadius = radius;

    }

    @Override

    public double calPerimeter() {

        // TODO Auto-generated method stub

        return Radius  PI  2;

    }

    @Override

    public double calArea() {

        // TODO Auto-generated method stub

        return Radius  Radius  PI;

    }

    public double getRadius() {

        return Radius;

    }

    public void setRadius(double radius) {

        Radius = radius;

    }

    public double getPI() {

        return PI;

    }

    @Override

    public double getPerimeter() {

        // TODO Auto-generated method stub

        return calPerimeter();

    }

    @Override

    public double getArea() {

        // TODO Auto-generated method stub

        return calArea();

    }

}

public class ShapeTestDemo {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Circular cir = new Circular(3);

        Systemoutprintln(circalArea());

        Systemoutprintln(circalPerimeter());

        Systemoutprintln(cirgetPI());

        Systemoutprintln(cirgetArea());

    }

}

*** 作系同一般提供两种类型的接口,分别是:

1,用户级接口:如菜单中的命令。

2,程序员级接口:就是系统功能函数,供编程使用,使用时叫作系统调用,一般以访管指令给出, *** 作系统识别到该指令后,产生相应的自愿性中断,由目态转为管态,接着交换“PSW(程序状态字)”,之后像调用子程序一样调用一些特权指令。API就是系统函数集。

(现在流行的MFC是:微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,他将传统的API进行了分类封装,并且为你创建了程序的一般框架,你只要随便添加几行代码,就能形成你自己的程序。非常方便。)

程序的模块是指:例如整个项目程序实现一个打飞机的功能,这个功能分很多小功能(你的飞机开炮,移动; 敌人的飞机开炮,移动),就可以说敌人飞机实现代码所以部分叫成程序的一个模块

子程序:就是指代码函数实现具体功能的函数,其中一个小函数实现飞机开炮功能就可以叫子程序,而主程序就是调用所有子程序的集合

接口就是指:比如你这个程序中,有写一个子程序,而其他人也想做类似打飞机的游戏,想要你这个子程序代码,他要写吗?不用,你就写一个接口函数,开放给他用,然后他就通过调用你这个开放的接口,他也能实现你这个打飞机其中一个小功能

11 这个函数等价于调用 lu a_yieldk, 不同的是不提供延续函数(参见。 因此,当线程被延续,线程会继续运行调用 l ua_yield 函数的函数。

让出协程(线程)。

12 当 C 函数调用了 lu a_yieldk, 当前运行的协程会挂起, 启动这个线程的 l ua_resume 调用返回。 参数 nresults 指栈上需返回给 l ua_resume 的返回值的个数。

当协程再次被延续时, L ua 调用延续函数 k 继续运行被挂起(参见)的 C 函数。 延续函数会从前一个函数中接收到相同的栈, 栈中的 n 个返回值被移除而压入了从 lu a_resume 传入的参数。 此外,延续函数还会收到传给 lu a_yieldk 的参数 ctx。

13 通常,这个函数不会返回; 当协程一次次延续,将从延续函数继续运行。 然而,有一个例外: 当这个函数从一个逐行运行的钩子函数(参见) 中调用时,lu a_yieldk 不可以提供延续函数。 (也就是类似 l ua_yield 的形式), 而此时,钩子函数在调用完让出后将立刻返回。 L ua 会使协程让出,一旦协程再次被延续, 触发钩子的函数会继续正常运行。

14 当一个线程处于未提供延续函数的 C 调用中,调用它会抛出一个错误。 从并非用延续方式(例如:主线程)启动的线程中调用它也会这样。

l ua_getinfo

int lua_getinfo (lua_State L, const char what, lua_Debug ar);

返回一个指定的函数或函数调用的信息。

15 当用于取得一次函数调用的信息时, 参数 ar 必须是一个有效的活动的记录。 这条记录可以是前一次调用 lu a_getstack 得到的, 或是一个钩子 (参见 )得到的参数。

用于获取一个函数的信息时, 可以把这个函数压入堆栈, 然后把 what 字符串以字符 '>' 起头。 (这会让 l ua_getinfo 从栈顶上d出函数。) 例如,想知道函数 f 是在哪一行定义的, 你可以使用下列代码:

lu a_getlocal

const char lu a_getlocal (lua_State L, const lua_Debug ar, int n);

16 从给定活动记录或从一个函数中获取一个局部变量的信息。

对于第一种情况, 参数 ar 必须是一个有效的活动的记录。 这条记录可以是前一次调用 lua_getstack 得到的, 或是一个钩子 (参见)的参数。 索引 n 用于选择要检阅哪个局部变量; 参见 debuggetlocal 中关于变量的索引和名字的介绍。

lu a_getlocal 将变量的值压栈,并返回其名字。

17 对于第二种情况,ar 必须填 NULL 。 需要探知的函数必须放在栈顶。 对于这种情况,只有 Lua 函数的形参是可见的 (没有关于还有哪些活动变量的信息) 也不会有任何值压栈。

当索引大于活动的局部变量的数量, 返回 NULL (无任何压栈)

lu a_getstack

int lu a_getstack (lua_State L, int level, lua_Debug ar);

获取解释器的运行时栈的信息。

18 这个函数用正在运行中的指定层次处函数的 活动记录 来填写 lu a_Debug 结构的一部分。 0 层表示当前运行的函数, n+1 层的函数就是调用第 n 层 (尾调用例外,它不算在栈层次中) 函数的那一个。 如果没有错误, lua_getstack 返回 1 ; 当调用传入的层次大于堆栈深度的时候,返回 0 。

以上就是关于java编程接口程序全部的内容,包括:java编程接口程序、什么叫应用程序接口、在c/c++中什么是程序的模块、接口和子程序,分别都是什么意思,如果有实例就更好了,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10114256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存