




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅谈Java面向对象程序设计科技信息OIT论坛o2010年第13期浅谈Java面向对象程序设计黄俊爽李聪李相俭杜娜娜(河南师范大学计算机与信息技术学院河南新乡453007)【摘要Java语言是一种面向对象的高级程序语言,其核心思想就是面向对象.这种基本思想实际上就是模拟现实生活求解的一般过程利用Java语言进行求解问题的基本思想是:分析实际需要求解的问题,从中提取需要设计的对象,然后编写对应的类.最后通过集成对象的功能解决实际问题.【关键词J类;对象;封装性;继承性;多态性DiscusstheObject-OrientedProgrammingofJava(HenanNormalUniversity,Computer&InformationTechnologyAcademy,XinxiangHenan,453007)【AbstractJavaisapmnglanguage;itscoreideaistheobjectoriented.Thisbasicideaisactuallyasimulationofthegeneralprocessofsolvingreallife.rheuseofJavalanguageforsolvingproblemsinthebasicideais:Toanalyzetheactualneedsofsolvingtheproblem.extracttheneedtodesignobjects,andthenwritethecorrespondingclass,thefinaladoptionofanintegratedfunctionofanobjecttosolvepracticalproblems.【KeywordsClass;objoct;O引言面向对象思想是编程语言从低级向高级发展的结果,是人类思维自然化的过程.应用面向对象语言求解问题时的基本思路:首先分析问题并建立相应的对象,然后通过这些对象以及他们之间的配合解决问题.在Java语言中,其面向对象内容主要包括类,对象,封装性,继承性,多态性等.1Java面向对象程序设计内容1.1类和对象.在现实生活中,任何一个人或任何一种物体都可以被认为是对象.例如:一朵花,一张桌子,一个椅子,一辆汽车都是对象.然而把同一类对象的共同特征抽取出来用来描述这些对象的抽象集合就是类.对象的属性和行为抽象出来分别对应类的成员变量和方法.例如:学生的共同属性有姓名,学号,性别,年龄等,共同行为有学习,吃饭,睡觉,等,把这些共同的属性和行为抽象为人这个类如下:classPersonstringname;/名imid:,学号stringsex;性别intage.J/年龄voidstudy0f,/学习voideatO/吃饭voidsleepOf,/睡觉类集合抽象出来后.在程序中需要使用关键字new来创建对象.程序中一旦对象被创建出来.各类对象的行为就可以完成程序的各种功能.1.2封装性在Java语言,可以通过封装性使得各对象的外在表现仅仅为对一些成员域的访问方式和一些成员方法的调用方式.即屏蔽各个模块的内部具体实现方式.为了实现隐藏类内部的信息,Java定义了类及其成员访问的四种访问控制方式:公共模式(public),保护模式(protected),默认方式(default),私有模式(prvate)1)public修饰的成员可以被程序中所有的类访问,它的访问权限是最低的.2)protected修饰的成员可以被类内部同一包pkage中的类和其子类访问.3)default修饰的成员可以被类内部和同一个包中的类访问,其他地方的类都不可以访问,包括其子类.4)Private修饰的成员只能被类内部访问.由此实现类内部信息隐藏最重要的关键字是private,它的访问权限是最高的1-3继承性继承性是实现软件可重用性的一种重要手段.由一个已有的类,通过使用关键字extends定义一个新类,称为新类继承了已有类.新类被称为子类或派生类,已有类被成为父类或基类.例如:父类人classPersonfStringnaIIle姓名stringsex,/性别intageg/年龄voidetOI,吃饭voidrunO/跑步)子类学生classStudentextendsPersonfintid:,学号voldstudyOI,/学习voidsleepO/觉J通过继承子类自动拥有父类的所有成员变量和方法.除构造方法.使得父类的优良特性得以代代相传并且大大减少了子类的代码量.继承是实现软件可重用性的一种重要方式.增强了软件的可扩充性,提高了软件的可维护性.对此我们在设计类时一般将通用性功能设计在父类中.将特殊性功能设计在子类中.1.4多态性多态性是指在类定义中出现多个构造方法或出现多个同名的成员方法.对于同名的成员方法,多态性还包括在当前定义的类型中出现与其父类型同名的成员方法.多态性也是实现软件可重用性的的手段之一,它使得继承性更加灵活,并使程序具有良好的可扩展性.多态性包括两种类型:静态多态性和动态多态性.静态多态性指的是在同一个类中同名方法在功能上的重载,而且在方法声明的形式上要求同名的方法具有不同的参数列表.其中,这里的方法可以是成员方法也可以是构造方法.不同的参数列表指的是方法的参数个数不同,参数的数据类型不同或者参数的类型排列顺序不同.动态多态性是指在子类和父类的类体中均定义了具有基本相同声明非静态成员方法.所谓非静态成员方法是指在成员方法定义中成员方法的声明不含方法修饰词static.这时也称为子类的成员方法对其父类基本相同声明的成员方法的覆盖.其中,基本相同声明的成员方法要求子类的成员方法和其父类对应的成员方法具有相同的方法名,相同的参数个数,对应参数的类型也相同,而且子类的成员方法应当比其父类对应的成员方法具有相同或者更广的访问控制方式.成员方法的访问控制方式由定义该成员方法的方法修饰词确定.2结束语面向对象思想的产生是编程语言发展史上质的飞跃,它使问题域中的各种关系明朗化,各类对象形象化.三大特征机制封装性,继承性,多态性使程序的设计更加严谨,结构更加清晰.面向对象的编程思想相对于C语言中面向过程的编程思想.我们用Java做一件事时,只用去new一个对象,并且去调用这个对象的方法,就可(下转第49页)科技信息oIT论坛o2010年第13期取值为字符的变量也需要一种方法度量它对目标变量的分离度.一般行为评分卡的变量初选的方法包括以下几种:信息价值,信息增益,卡方统计量,单变量显着水平,偏相关系数等.申请评分卡的变量初选的步骤是采用交互分组的方式筛选初步的变量.5-3交互式分组在进行信用评分建模的前一步,就是对变量进行分组.交互地对区间型,列名型或有序型变量进行分组处理可以:限制变量的属性个数提高变量的预测能力选择预测变量增强变量之闻W0E变化的平滑性和线性在交互式分组中,我们可以对变量的分类进行交互式的修改,以便得到最佳的分组.交互式分组要求:(1)一个二元目标变量;(2)选择基于基尼指数(Giniscore)或者信息价值(Informationvalue)得到的显着特征项.(3)在WOE(WeightofEvidence)值和商业考虑的基础上,对所选的特征项进行分组.WOE是衡量一个属性相关风险的尺度.WOE的计算公式如下:WOEs=In(P.P1.一)(1)Pul_n(2)P地叫啪俨(3)在这公式里,产为数据中总的坏客户的数量,为数据中总的好客户的数量,n一为该属性里坏客户的数量,n一为该属性里坏客户的数量.一个属性的风险高低由其证据权重(WeightofEvidence)决定,WOE的值越高.说明这个分组的风险机率越低.一个特征项能从低风险客户中分离出高风险申请者的预测能力.是由其信息价值(InformationvMue)或基尼统计量评估出来.信息价值的值为该特征项属性的WOE的加权总和,该权值为这个属性中好客户在总好客户数中的比例与坏客户在总坏客户数中的比例的差值.具体公式如下:Informationva1ue=啦(P1.删一P岫Ie惜t)W0E(4)用于计算信用评分的变量的信息值应大于O.O2.如果信息值大于0.5,就是过预测(over-predicting)变量.基尼系数如下计算:根据一个属性的坏客户所占比例的值,降序来排序数据,假设一个特征项有n1个属性,排序的属性被分成组1,组2,组nl,每组对应一个属性,组1就是坏客户所占比例的值最高的那组.对于排序后的每一组,计算组i的坏客户和好客户的数量,然后算出基尼统计量:Gini_l-【2至(:!:()户概率与好客户概率的发生比的自然对数,因为对自变量的取值没有任何限制,就不会在进行预测时出现概率小于0或大于1等此类问题,该模型提供的是坏客户的发生比,因此申请人的信用度能更准确更科学的掌握到.在Logistic回归模型中,将概率发生比的对数表示成特征变量的线性组合,公式如下:Logit(pi)=log(p_good/p_bad)=log(odds)=agewoobage+statuswoobcar+a(6)Logit(pi)是一个对数值,即为log(P(bad)/P(good),由于P(bad)/P(good)的取值在0到,log(P(bad)/P(good)的取值在一到+之间.为了使获得的评分更具实用性,需要对每个属性的分值需要进行线性比例变换,然后再加上一个偏移量.评分和用于逻辑回归(LogisticRegression)建模的好,坏比(good/badodds)的对数成比例,而不是好,坏比(good/badodds)本身.所以分值可以是负数,而且越小的分值代表风险越高.每个属性对应的分值可以通过下面的公式计算:WOE乘该变量的回归系数,加上回归截距,再乘上比例因子,最后加上偏移量:(woe+)tDr+旦逛(7)对于评分卡的分值,我们可以这样计算:score=log(odds)*factor+offset=(22(WOe.)+a)*factor+offset=(woe.+a)*factor+offset=(wooi1+).r+妲n)(8):,l比例因子和偏移量的确定方法如下:令好/坏比=50/1对应的评分为600在此基础上评分值增加2O可以使好,坏比翻番所以:600=1og(50)*factor+offset620=1og(1O0)*factor+offsetfactor=20/log(2)offset=6OO-factorlog(50)100(5)7模型验证信息价值默认的分割点为O.1.基尼系数的分割点为2O.信息价值或基尼系数的值大于规定分割点的变量将被选作为评分卡的输入,否则,将给与拒绝.在交互式分组中,同时需要加入业务人员的经验,不能完全按照数据驱动方式.6模型建立在信用评分卡建模中,用到的方法有很多种,其中Logistic回归是运用比较广泛的一种方法.本文信用评分建模中,我们选用的是Logistic回归模型.运用Logistic回归模型,因变量是一个二元值的概率.如坏客户或者好客户的概率.也就是说,如果我们预溯一个新客户是否是默认的客户类型,用Logistic回归分析后,预测的结果并不是简单给出原始的是,否,而是给出一个这件事情将会发生的改良过的概率.这种预测的结果是连续的.Logistic回归模型的因变量取坏客模型验证是十分重要的一步.模型开发以后,该评分卡的预测性非常好,而且也可以把工程开发过程中揭示的用户商务目标考虑进去.这种评分卡利用部分样本数据(通常训练样本的80研制而成,并利用剩余的样本数据f通常占开发样本的2O进行验证.在模型正式建立以前(包括模型初步拟和),不得动用测试样本;整个模型建立过程中.不得动用校验样本.通过对比训练样本和校验样本的各种统计量,如客户的最大和最小的分数,Ks值等,验证模型是否可以推广应用.【参考文献】1林功实,林健武.信用卡.北京:清华大学出版社,2006.责任编辑:王静(上接第47页)以实现我们所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同及协议文件标准模板库
- 2024-2025学年河南省新乡市凤泉区人教版四年级下册期末质量检测数学试卷(含答案)
- 渴望得到一枚金牌11篇范文
- 农业项目合作种植协议
- 教师招聘之《小学教师招聘》考试押题卷含答案详解【综合题】
- 安全知识培训员工课件
- 新质生产力热点新闻深度解读
- 安全知识培训制作课件
- 幸亏一路有你陪伴600字7篇
- 工作计划与总结表格模板集合(按类别)
- DB21-T 2854-2017二化性柞蚕种质量与检验
- 常用玻璃仪器操作规范课件
- 《青纱帐-甘蔗林》教案- 2023-2024学年高教版(2023)中职语文基础模块下册
- TCRHA 063.1-2024 消毒供应质量管理及评价 第1部分:外包消毒供应业务
- 水资源论证、水土保持、防洪评价收费标准
- 攻读工程博士专业学位研究计划书【模板】
- NBT 10643-2021 风电场用静止无功发生器技术要求与试验方法-PDF解密
- 初中英语单词表(For-Junior)2182个 带音标
- 人教鄂教版六年级上册科学全册教案
- 财务工作内部培训课件
- 网络安全意识培训
评论
0/150
提交评论