面向对象编程(一)

面向对象编程(一),第1张


前文学习了变量,如果要定义一个变量来保存客户的年龄,方法如下。

 
int age;


其中,int是一个数据类型。

但是,实际的项目比想象更为复杂,简单的数据类型根本无法满足需要。例如要定义一些变量保存顾客的信息,包含姓名、性别、年龄等信息,传统方法写成如下。
 
String name;
String sex;
int age;


但是每次定义顾客,都要手工定义3个变量,并且这3个变量在定义时并不能表达它们之间的关系,也就是说看不出它们是为了保存顾客的信息。

那么能否像int一样“自创”一个数据类型(Customer)使用呢?示例如下。
 
Customer cus;


这样是否自动定义了3个变量呢?

答案是可以的,面向对象中的类(Class)就可以帮助用户完成
  1. 定义类

    首先讲解最简单的类的定义,定义一个类的语法如下。
     
    class类名{
    
    所含变量定义;
    }

    示例如下。
     
    class Customer{
    String name;
    String sex;
    int age;
    }


    上述语句定义了一个新的数据类型Customer,包含3个变量,此后就可以类似于使用简单数据类型来使用Customer类型。其中,name、sex和age称为类的成员变量。


  2. 4.1.4访问对象中的成员变量

    通过类实例化对象之后,如使用了"Customer zhangsan new CustomerO;"之后 .如何通过对象名zhangsan来使用其中的成员变量name .sex和age呢?



    通过对象名使用成员变量的最基本的方法如下。

    对象名.成员变量名

    例如,”zhangsan. age"表示访问对象zhangsan的成员变量age.示例代码如下。

    ObjectTest1. java
     
    class Customer {
    
    String name;
    
    String sex;
    
    int age;
    }
    
    public class ObjectTest1 {
    
    public static void main(String[] args) {
    
    Customer zhangsan= null;
    
    System. out. println(”zhangsan= " + zhangsan);
    
    zhangsan = new Customer();
    
    System. out. println(”zhangsan. name= " + zhangsan. name);System. out. println(”zhangsan. sex=”+ zhangsan. sex) ;System. out. println(”zhangsan. age=”+ zhangsan. age);zhangsan. name= "张三";
    
    zhangsan. sex="男";
    
    zhangsan. age = 25;
    
    System. out. pr intln( " zhangsan. name =" + zhangsan. name);System. out. println(”zhangsan, sex=" + zhangsan. sex);
    System. out. println(" zhangsan. age= " + zhangsan. age);
    }
    }
    运行代码,控制台打印结果如图4-3所示
    zhangsan=nul 1
    
    zhangsan. name=nul ]
    
    zhangsan. sex=nul 1
    
    zhangsan. age=0
    
    zhangsan. name=张三
    
    zhangsan.sex=男
    
    zhangsan. age=25

    图4-3 ObjectTestl. java的运行结果

    在没有赋值时,对象的成员变量中字符串型为空值(nul)、int型为“0”

  • 认识成员函数

  • 观察下列代码

  • class Customer{
    String name;
    String sex;
    int age;
    }
    
    public class ObjectTest1 {
    
    public static void main(String[] args) {
    Customer zhangsan = new Customer() ;
    System. out. printin(" zhangsan. name=" + zhangsan. name);
    System. out. println(”zhangsan. sex=" + zhangsan. sex);
    System. out. println(" zhangsan. age=" + zhangsan. age);
    zhangsan. name= "张三";
    
    zhangsan. sex= "男";
    
    zhangsan. age = 25;
    
    System. out. println(”zhangsan. name=" + zhangsan. name);
    System. out. println(" zhangsan. sex=”+ zhangsan. sex);
    System. out. println(" zhangsan. age=" + zhangsan. age);

    在代码中,以下语句的功能类似,但是却写了两次。

  • System. out. print1n( " zhangsan. name= " + zhangsan. name) ;
    System. out. pr intln(" zhangsan. sex= " + zhangsan. sex) ;
    System. out. pr intln( "zhangsan. age= " + zhangsan. age) ;

    如果以后再使用,再重复编写,如果想改变打印格式,必须修改每段重复的这3句代码,如果修改错误或遗漏将造成错误。

    能否将代码只编写一遍 就可以多次使用呢?当然能,此时可以使用函数。

    Java中的函数编写在类中,一般称为成员函数。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/787707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存