正在阅读:面向对象编程,我的思想(下)面向对象编程,我的思想(下)

2004-06-01 10:14 出处:CSDN 作者:flashmagic 责任编辑:linjixiong

  这样,在我们创建“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);这样一来,所有的工作都完成了,呵呵!(在创建对象的同时赋予了我们想要的“初值”)
  
  2.3.2重载构造函数:
  
  我还是先把概念给你吧,让你有个认识,随后我们在进行论述。
  
  在JAVA中:
  
  1. 函数重载是一个类中声明了多个同名的方法,但有不同的参数个数和参数类型。
  
  2. 函数重构是指在子类中声明与父类同名的方法,从而覆盖了父类的方法。重构解决了子类与父类的差异问题。(在讨论到继承时我会详细说明)
  
  在C++中:
  
  1. 数重载的概念一样。
  
  2. 重构的概念可就不一样了,C++中功能更为庞大的虚函数。更详细内容这里就不错过多介绍了!



察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品