我是一名C#编程学生,虽然我已经在编程学习了几年,而且学习的内容超出了课程的教学范围,这正是我正在做的事情,所以我得到了充分的准备进入工作环境.这个特殊课程根本不是OOP,实际上是下一堂课,但对于这个项目,老师说他不介意我们是否超越并在OOP中完成了项目(事实上你不能得到A在他的班上,除非你无论如何都要超越自己.)
该项目(此时)读取XML文件,逐字节,将元素标记存储到一个数组,将数据值存储到另一个数组.我和他一起战斗(鉴于处理XML的.net框架)但这是一场失败的战斗.他希望我们在不使用.net XML的情况下编写代码.
他确实为这个程序提供了一个OOP示例(他最初用Java编写,移植到C++,然后从C++移植到C#)
在他的例子中,他有三节课.第一,XMLObject,其中包含阵列,准构造,获取和设置方法(未属性,我打算在我的版本而定),以及用于将所述的方法<和>要被存储在阵列标签(和输出到控制台,如果需要.)
第二堂课是一parseXML堂课.在这一个中,他有一些字段可以跟踪行数,文件偏移量,标记偏移量以及用于保存元素和数据的字符串.同样,他有getter和setter方法,几个解析不同东西的解析方法,以及一个使用其他解析方法的通用解析方法(在这里将它们组合起来).其中一些方法调用XMLObject类的方法,并将解析后的元素和数据值发送到各自的数组.
他拥有的第三个类是没有字段的类,有两个方法,一个用于执行ATOI,另一个用于将一部分文件流转储到控制台.
我知道我们基本上构建了一个效率较低的版本,已经包含在.net框架中.我已经向他指出了这个问题并被告知"不要使用.net的XML类,讨论结束",所以让我们都同意让这一个人独自一人.
我的问题是,那些真的应该是3个独立的课程.解析类不应该从XML对象类继承,还是只能在XML对象类中编码,ATOI和转储方法是否也不应该属于这两个类中的一个?
这对我来说很有意义,如果解析类的人生目标是解析XML文件,并存储元素和数据字段的数组,它应该是在同一个班级,而不是孤立,并且具有通过getter和setter方法来做到这一点(或者我将要做的版本中的属性).我不明白为什么数组需要从实际给它们存储什么的解析方法中封装起来.
任何帮助将不胜感激,因为我仍在设计这个,并希望至少尽可能接近"正确"(我知道它是一个相对术语)OOP形式.
我正在尝试编写一个非常简单的GUI应用程序,用于将一些记录插入数据库,并读回一些记录(没什么特别的,只有1个表有3行,没有关系).来源...
package EntryProg;
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;
public class CourseDataEntryHandler
{
private Connection connect;
private CallableStatement callState;
private ResultSet rSet;
private SQLServerDataSource dSource;
public CourseDataEntryHandler()
{
rSet = null;
callState = null;
dSource = new SQLServerDataSource();
dSource.setUser(REDACTED);
dSource.setPassword(REDACTED);
dSource.setServerName(REDACTED);
dSource.setPortNumber(REDACTED);
dSource.setDatabaseName(REDACTED);
dSource.setEncrypt(true);
dSource.setTrustServerCertificate(true);
try
{
Run Code Online (Sandbox Code Playgroud)
这里错了
connect = dSource.getConnection();
Run Code Online (Sandbox Code Playgroud)
结束错误
}
catch (SQLServerException e)
{
//TODO Figure out how to handle -- logging for now, console
do
{
System.out.println(e.getErrorCode());
System.out.println(e.getMessage());
System.out.println(e.getSQLState());
e = (SQLServerException) e.getNextException();
} while (e != null); …Run Code Online (Sandbox Code Playgroud)