| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 787 人关注过本帖, 1 人收藏
标题:求教一个面向对象的习题
取消只看楼主 加入收藏
sunxuan007
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2012-8-28
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:2 
求教一个面向对象的习题
原题:利用接口做参数,写个计算器,能完成+-*/运算
1.定义一个接口ICompute含有一个方法int computer(int n,int m);
2.设计四个类分别实现次接口,完成+-*/运算;
3.设计一个类UseCompute含有方法:
public void useCom(ICompute com,int one,int two)
此方法要求能够
(1)用传递过来的对象调用computer方法完成运算
(2)输出运算的结果
测试调用UseCompute中的方法UseCom完成+-*/
==============================================
(以下命名空间为同一个,就不贴上来了)
interface ICompute
    {
        int Computer(int n,int m);
    }

class Plus : ICompute
    {
        public override int Computer(int n,int m)
        {
            int plus = n + m;
            return plus;
        }
    }

class Minus : ICompute
    {
        public override int Computer(int n, int m)
        {
            int minus = n - m;
            return minus;
        }
    }

class Times : ICompute
    {
        public override int Computer(int n, int m)
        {
            int times = n * m;
            return times;
        }
    }

class Devide : ICompute
    {
        public override int Computer(int n, int m)
        {
            int devide = n / m;
            return devide;
        }
    }
==问题出在设计UseComputer类这里,我不太理解题意(ICompute类型的参数要传什么)
==帮忙看看问题在哪,或应该怎样设置这个类
class UseComputer : ICompute
    {
        public void useCom(ICompute com, int one, int two)
        {

            Plus plus = new Plus();
            Minus minus = new Minus();
            Times times = new Times();
            Devide devide = new Devide();
            if (com == plus)
                (one, two);
            else if (com == minus)
                (one, two);
            else if (com == times)
                (one, two);
            else if (com == devide)
                (one,two);
        }
    }
//主程序
static void Main(string[] args)
        {
            UseComputer use = new UseComputer();
            use.useCom(plus, 5, 8);  //不知道题意是不是要这么应用,这里是报错
        }


搜索更多相关主题的帖子: 接口 public interface computer 
2012-09-23 11:21
sunxuan007
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2012-8-28
收藏
得分:0 
报错的其中之一是我的语法
重写接口不用加override.
修改后相关错误解决
另外:

class UseComputer : ICompute
    {
        public void useCom(ICompute com, int one, int two)
        {
            Console.WriteLine((one,two));
        }
    }

static void Main(string[] args)
        {
            UseComputer use = new UseComputer();
            Plus plus = new Plus();
            Minus minus = new Minus();
            Times times = new Times();
            Devide devide = new Devide();
            use.useCom(plus, 5, 8);
         }

把声明对象步骤挪到Main中,程序能使用
请问有没有把声明对象步骤放入UseComputer中,程序还好使的方法!
2012-09-23 12:20
sunxuan007
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2012-8-28
收藏
得分:0 
回复 4楼 belin2000
思路有些问题,形容的非常准呵呵
2012-09-25 22:57
快速回复:求教一个面向对象的习题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036932 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved