• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > 面向对象编程,我的思想(5)

面向对象编程,我的思想(5)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了面向对象编程,java面向对象编程,什么是面向对象编程,java面向对象编程题,js面向对象编程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

2.3深入探讨函数:

2.3.1构造函数、默认构造函数、 缺省构造函数
对于上面的实例,它已经能完成绝大部分工作了,但它还是不完善的,还有许许多多的细节等到我们去完善!也许有的同学已经注意到了,当我创建完“jingwei”这个对象时,这个对象的所有的属性都是空的,也就是说:这个对象的姓名是未定的、年龄是未定的、性别是未定的、薪水是未定的、午餐也是未定的。而我们想把这些属性都添加上去,就还要用对象调用相应的方法,去一个个修改!天啊,这简直是太麻烦了!有没有什么好方法能够在我们创建对象的同时就完成了对属性赋值的操作呢?哦不,应该说是对属性的初始化呢?当然没问题了,这就需要所谓的构造函数! 构造函数是类中最特殊的函数,它与析构函数的功能正好相反! 从特征上来说:1.它是编程语言中唯一没有返回值类型的函数。 2.它的名称与类的名称必须要完全相同。 3.它必须被声明为公共(public)的类型 4,可以对构造函数进行重载。 5.它在创建对象是自动被调用。 从功能上来说:1.它是对类中的属性进行初始化。 其实,对于上面的程序来说我们没有自己定义构造函数。但是,在这种情况下,系统会自动为我们定义一个“默认构造函数”。他会把数值变量自动赋值为0,把布尔行变量赋值为false等等(但在C++中,默认构造函数不初始化其成员)。如果程序员定义了构造函数,那么系统就不会再为你的程序添加一个缺默认造函数了。(在这里,我们提倡的是自己定义构造函数,而不是用系统的默认构造函数) 还是看个实例吧!这样比较清楚一些!
//employee.java

public class employee{

private String name; //员工姓名

private int age; //员工年龄

private char sex; //员工性别

private float emolument; //员工薪水

private boolean lunch; //员工午餐

//……等等

public employee(){ //这个就是“默认”构造函数

name = “jw”; //设置员工姓名

age = 20; //设置员工年龄

sex = “M”; //设置员工性别

emolument = 100; //设置员工薪水

lunch = false; //设置员工午餐

}

public void heater(){ //这个方法是用来加工员工的午餐

lunch = true;

}

//……等等

}; 这样,在我们创建“jingwei”这个对象的同时,它的所有的属性也被初始化了!显然,这大大的提高了工作效率,但是,它还是不符合要求。想想看,如果我们现在创建这个类型的第二个对象的时候会发生什么事情?告诉你,除了对象的“名”(这个名称不在是对象属性中的名称,而是对象本身的名称)不一样外,其所有的“属性值”都一样!比如:现在我们创建第二个对象flashmagic,然而我会发现这个对象的所有的属性和jingwei这个对象的所有的属性完全相同。而我们只能在用对象的方法去改变着写属性了!很显然,这种方法不大好!我们需要一种方法在创建对象的时候为对象的属性赋予“我们想要的值”。 相信你也看到了,默认构造函数就显得无能为力了。我们需要的是带参数的构造函数,在创建对象时,我们把参数传给构造函数,这样就能完成了上述的功能!口说无凭,还是来看个实例吧:
//employee.java

public class employee{

private String name; //员工姓名

private int age; //员工年龄

private char sex; //员工性别

private float emolument; //员工薪水

private boolean lunch; //员工午餐

//……等等

public employee(String n,int a,char s,float e,boolean l){ //看这个构造函数

name = n; //设置员工姓名

age = a; //设置员工年龄

sex = s; //设置员工性别

emolument = e; //设置员工薪水

lunch =l; //设置员工午餐

}

public void heater(){ //这个方法是用来加工员工的午餐

lunch = true;

}

//……等等

}; 这样一来,在创建对象的同时我们就可以给他赋予我们想要的值,很显然,这可就方便多了。哦,对了!还没有告诉你怎么创建呢!哈哈,往前翻几页你会看到这句话: jingwei = new employee();这是创建一个对象,而我们把它改成 jingwei = new employee("jingwei",20,'M',100,false);这样一来,所有的工作都完成了,呵呵!(在创建对象的同时赋予了我们想要的“初值”) </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Java编程中更新XML文档的常用方法
  • 面向对象编程,我的思想(5)

相关文章

  • 2017-05-11JSP 自定义标签第1/3页
  • 2017-05-11jsp地址栏传中文显示乱码解决方法分享
  • 2017-05-11jsp页面中的代码执行加载顺序介绍
  • 2017-05-11Cookie的使用及保存中文并用Cookie实现购物车功能
  • 2017-05-11jsp留言板源代码二: 给jsp初学者.
  • 2017-05-11jsp action中保存和修改的关系
  • 2017-08-14jsp百度编辑器ueditor 提示后端配置项没有正常加载,上传插件不能正常使用!
  • 2017-05-11JAVA POST与GET数据传递时中文乱码问题解决方法
  • 2017-05-11JSP中的FORM表单中只有一个input文本时,按回车键将会自动提交表单
  • 2017-05-11把一张图片变形扭曲成各种不同的长宽

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 基于jsp的AJAX多文件上传的实例
    • jsp文件操作之追加篇
    • jsp页面中插入css样式的三种方法总结
    • JSP如何获取客户端真实IP地址
    • jsp页面使用${}不起作用的解决方法
    • jsp超链接中文乱码的解决方法
    • java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)
    • struts2 action跳转调用另一个程序
    • javascript通过url向jsp页面传递中文参数导致乱码解决方案
    • jsp dwr级联效果代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有