| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2529 人关注过本帖
标题:如何定义适当的公共接口?
只看楼主 加入收藏
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
 问题点数:0 回复次数:27 
如何定义适当的公共接口?
下面是我写的学生信息管理的程序.要求如下:
实验要求
1.    实现一个学生信息管理系统,包含信息为:学号、姓名、性别、出生年月、专业、备注等信息。
2.    要求为学生信息中的每个字段选择适当的数据类型或自定义类型;
3.    设计的系统中要求用面向对象的方式抽象和封装你所分析出的类;
4.    为你抽象出来的每个类成员定义适当的访问存取权限
5.    为你抽象出来的每个类定义适当的公共接口(属性及索引器)//这一条的不知道怎么实现.
6.    要求可以对该系统中的学生信息实现:增加、删除、修改及查询的功能;
7.    要求学生信息可保存到一个指定的文本文件中,即支持文件的读写功能。
搜索更多相关主题的帖子: 接口 定义 
2008-04-04 10:04
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 
代码比较乱,还是打包发上来吧

Student_Manage.rar (32.55 KB)
2008-04-04 10:07
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
程序代码:
//ICar.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ICar
{
    public interface ICar
    {
        string GetCar();
    }
}
//FuTe.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FuTe
{
    public class FuTe : ICar.ICar
    {
    
        public string GetCar()
        {
            return "FuTe";
        }
    }
}
//CarFactory.dll
using System;
using System.Reflection;

namespace CarFactory
{
    public class CarFactory
    {

        public static ICar.ICar CreateCar(string CarFileName)
        {
            var CarAssembly = Assembly.LoadFrom(CarFileName);
            ICar.ICar CarType = null;
            foreach (var tmpCarType in CarAssembly.GetTypes())
            {
                    CarType = (ICar.ICar)Activator.CreateInstance(tmpCarType);
                    break;
            }
            return CarType;
        }
    }
}
//ConsoleApplication6.exe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            var myCar = CarFactory.CarFactory.CreateCar(@"FuTe.dll");
            var CarName = myCar.GetCar();
            Console.WriteLine(CarName);
            Console.ReadLine();
        }
    }
}

你看一下我这段代码,你就知道接口的用处了.
我这里一共定义了三个类,
一个是接口类,一个是实现这个接口的类,
一个是工厂类.和一个控制台测试程序.

[[it] 本帖最后由 ioriliao 于 2008-4-4 11:12 编辑 [/it]]

/images/2011/147787/2011051411021524.jpg" border="0" />
2008-04-04 11:10
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
这里要求你先理解接口,然后将一些共有的属性都通过接口来抽象。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-04-04 14:24
ggaolin
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-4-25
收藏
得分:0 
不懂,学习.
2008-04-04 14:35
ggaolin
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-4-25
收藏
得分:0 
你好,楼主,能否发给我一份?谢谢.我的E-mail是:xxw99221@
2008-04-04 14:38
ggaolin
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-4-25
收藏
得分:0 
你好,楼主,能否发给我一份?谢谢.我的E-mail是:xxw99221@
2008-04-04 14:39
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 
是不是接口对功能没什么作用....如果不使用接口,程序也照样完成相同的功能...
只是提供给程序员交流用的.....使代码便于维护
2008-04-06 18:51
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
错...接口是很大作用的...
如果你看明白了我在三楼发的代码...
你就会有所悟的了...

/images/2011/147787/2011051411021524.jpg" border="0" />
2008-04-07 08:11
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
[bo]以下是引用 [un]可见光[/un] 在 2008-4-6 18:51 的发言:[/bo]

是不是接口对功能没什么作用....如果不使用接口,程序也照样完成相同的功能...
只是提供给程序员交流用的.....使代码便于维护



对于初学者来说你这样理解也当虽然有些出入,不过也不完全错误。程序确实是可以完成相同的功能,可是不利于维护,而接口的出现可以使程序具有更规范化和易维护等特点,接口更多的时候用于定义一个类与类之间交互的规范及协议。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-04-07 08:16
快速回复:如何定义适当的公共接口?
数据加载中...
 
   



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

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