第一范文网 - 专业文章范例文档资料分享平台

学生网上选课系统设计与实现毕业论文

来源:用户分享 时间:2025/5/22 5:30:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

中文译文

1、Objective-C的语法与Cocoa框架

一个最基本的区别:Objective-C是一种语言,而Cocoa是一种MacOS X的编程框架。 从理论上说,在没有Cocoa框架做前端时可以使用objective - c。但在MacOS X,两者基本上是没区别的,大部分的Cocoa框架已经提供的语言的一部分类。 更准确地说:Cocoa框架是实现苹果,对于MacOS X,OpenStep的标准,最早出现于1994年。它由一个开发框架基于objective - c。的GNUstep项目6是另一个实现,它是免费的。其目标是一样便携可能在大多数Unix系统上,至今仍在发展。 1.1、 Objective-C的简史

很难为一种语言给出一个精确的出生日期,有一些由于事实时间之间的第一步骤,改进,标准化和官方公告。然而,如图1中给出了粗略的历史要快速浏览一下它的祖先和objective - c“挑战者”。

smalltalk - 80是第一个“真正的”对象的语言之一。c++和objective - C是两个不同的

分支机构,建立一个C语言的超集。objective - c非常接近Smalltalk的说法语法和活力,而c++静态的,得多的目标有更好的运行时的性能。Java c++受众目标,但也很受Smalltalk的对象模型。这就是为什么,尽管这个文档的标题,但许多引用Java。c#由微软开发的语言,是一种直接的挑战者objective - c。

objective - C + +是一种objective - C和c++之间的合并。它已经是可用的,但一些 行为仍然不完美。objective - c + +的目标是混合了objective - c的语法 和c++受益于两个世界的最好特性(参考64页14节)。 1.2、 Objective-C 2.0

当前文档已经更新,以考虑在objective - c 2.0的新功能,已经和MacOS X10.5发布。这些特性是深的技术改进,但高级开发人员很容易 枚举的修改。他们现在可以使用: ?一个垃圾收集器:参考6.6节48页; ?属性:参考12.2节58页;

?快速枚举:参考节11.2.2 55页;

?新关键词@optional和@ required协议:参考4.4节22页; ?更新objective - c运行时库特性:参考13.2节在63页。 每一个详细的在一个特定的部分。

2、语法概要

2.1关键字 objective - C是C语言的衍生语言。像c++,精心编写的C程序compile-able objective-C,只要是不使用的一些不好的实践所允许C。objective - c只添加了一些概念和它们相关的关键词。为了避免冲突,这些关键字从@(在)字符开始。

这是(短)详尽的清单:@class,@ interface,@ public,@implementation @private、

@protected @try,@catch,@throw,@finally,@end,@encode @protocol @selector,@ synchronized,@ def(不再记录在[4])。objective - c在前一页2.0(cf。1.2)增加了@optional,@ required,@property,@dynamic,@synthesize。让我们归纳一下,类型id,SEL和Bool,boolean等。最后,一个关键字可用在特定上下文中,则不是保留字。,inout ,bycopy,byref,单向的(他们可以在定义协议:参见4.4.5节24页)和getter、setter,读写,只读的,分配、保留、复制、nonatomic(他们可以在定义属性:参看12.2节58页)。

有一种简单的语言关键字之间的混乱和一些方法继承了从根类NSObject(每个类的母亲,参看3.1节10页)。例如,类似——“关键词”寻找内存管理公司名叫alloc,保留,释放和autorelease事实上NSObject的方法。单词超级和自我(参见3.3.1节在12页),也可以理解为关键词,但是自我实际上是一个隐藏的参数方法,和超级指令要求编译器使用自我迪?不同。然而,这些错误的关键字之间的混乱和真实的不可能是正常使用的问题。 2.2注释

注释:/ * * /和/ /是允许的。 2.3混合了代码和声明 像在c++中,可以插入变量的 声明在一块指令。 2.4 新类型和值

2.4.1 BOOL, YES, NO

在c++中,布尔类型是bool。在objective - c,它是BOOL,可以设置为“YES”或“NO”。 2.4.2 nil, Nil and id

这三个关键词在之后的文档解释,现在简单介绍一下: ?每个对象的类型是id。这是弱类型的工具;

? nil相当于空指向一个对象的指针。nil和NULL能互换的。

? Nil相当于Nil类指针。在objective - c中,类是一个对象(它是元类的实例)。 2.4.3 SEL

SEL类型可以存储选择器的值,方法标识符与任何无关的类实例对象。这些

值可以 通过调用@selector计算。可以使用选择器作为一种指针方法,即使它不是技术上真正 的指向函数的指针。看15页3.3.5节获取详情。

2.4.4 @encode

为目的的互操作性,the objective - c数据类型,甚至自定义类型,和原始类型的函数或方法,可以根据 ASCIIa编码,根据记录格式[4]。一个调用@encode(类型)返回一个表示类型的C字符串(char *)。

2.5组织源代码:.h和.m文件,include

像在c++中,它是有用的分裂之间的代码为每个类接口和实现。objective - c的用途。h文件头,。代码;m文件。mm文件用于objective - c(见64页14节)。objective - c介绍了#进口取代# include指令。事实上,每一个C头应该使用编译警卫来防止多个夹杂物。这是汽车,电气自动方式在使用#导入。下面是一个典型的接口/实现的例子。objective - c的语法解释。

2.6 类名:为什么是NS?

在本文档中,几乎所有类名以NS开始,比如NSObject或NSString。的原因

很简单:他们是可可类,大多数可可和NS自启动开课吗NeXTStep之下。 这是一个常见的实践使用前缀来识别类的起源。 2.7 函数和方法的不同

objective - c语言不是用函数调用使用方括号。这将是一个合法的思想观察代码时那样:[对象doSomething];而不是object.doSomething();但事实上,objective - C C的超集,所以相同的语法和语义功能匹配的C声明,实现和调用。相反,方法,不存在在C语言中,有一个特殊的语法,其中包括方括号此外,迪吗?参考不仅符合语法,还的意思。这是在3.2节进一步详细的在下一页:这不是一个方法调用,这是发送消息。这不仅仅是一个简单的学术资格,影响objective - c的机理。即使是相同的关于源代码组织,这种机制允许更多的活力。35.848,它兼容在运行时添加一个方法(参看13.2节在63页)。语法也更具可读性,尤其是嵌套调用(参考3.3.1节在12页)。

附 录A:源程序代码

1、登录界面的核心代码

request.setCharacterEncoding(\

response.setContentType(\ PrintWriter out = response.getWriter(); String name=request.getParameter(\ String password=request.getParameter(\ String op=request.getParameter(\ if(op.equals(\管理员\ { User_0 u=new User_0(name,password); User_0Imp ui=new User_0Imp(); boolean b=ui.findUser_0(u); if(b) { out.println(\管理员登录成功了!')\ HttpSession session=request.getSession();

session.setAttribute(\

out.println(\正在跳转,请等待...\ response.setHeader(\ } else { out.println(\老师用户添加失败!')\ out.println(\正在跳转,请稍候...\ response.setHeader(\ out.flush(); out.close(); }

2学生选课操作的核心代码 用户操作:

<% String xuehao=(String)session.getAttribute(\ //out.println(xuehao); User_sImp usi=new User_sImp(); User_s us=usi.getByName(xuehao); int user_sid=us.getSid();

//System.out.println(user_sid);

int kecheng_id=Integer.parseInt(request.getParameter(\ PaikeImp pi=new PaikeImp(); ArrayList l=pi.getByKecheng(kecheng_id); for(int i=0;i

KechengImp ki=new KechengImp();

Kecheng k=ki.getById(kecheng_id); String kecheng=k.getName(); int teacher_id=p.getTeacher_id(); User_tImp ui=new User_tImp(); User_t d=ui.getById(teacher_id); String teacher=d.getTname(); int count=p.getCount(); int alcount=p.getAlcount(); out.println(\ out.println(\ out.println(\ out.println(\ out.println(\ out.println(\ out.println(\ out.println(\ out.println(\

out.println(\

href=SelectKecheng?paike_id=\确定选课\

out.println(\ } catch(Exception e){ }

学生网上选课系统设计与实现毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4qxx57ia5o0daes3y3831emx02sb1m00vmf_7.html(转载请注明文章来源)
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top
排课信息列表
  序号 星期 节数 课程 教室 教师 可选人数 已选人数 操作