美文网首页java基础
Java面向对象解析

Java面向对象解析

作者: 冰糖雪梨葫芦甜 | 来源:发表于2018-11-13 11:18 被阅读0次

    概念

    面向对象(Object Oriented,简称OO),是一种程序设计思想,是 Java 语言的核心部分。利用面向对象的思想,我们在设计程序的时候,将数据抽象化为对象,并以对象为单位进行程序设计。

    类和对象

    是一类拥有共同属性、共同方法(函数、行为)的数据的统称。比如猫就是一个类,猫并不指某个具体的猫,而是所有的猫的统称。它们都有 2 只眼睛、2 只耳朵、4条腿(属性)...它们都可以发出“喵喵喵”的叫声、可以钻进与自己体型不符合的小洞、可以跳跃(行为、方法)...

    对象

    对象是某个类的一个具体的例子。比如我家里养了一只小猫,叫做小花,它拥有猫这个所有的属性和行为,但它是一个具体的例子,因此,小花是一个对象。

    类的成员

    类的成员可以简单分为成员变量成员函数,成员变量即前面讲到的属性(Attribute),成员函数即前面讲到的方法(Method)。

    类的实例化对象

    类的实例化对象是指某个类的一个实际例子,比如前面提到的小花就是猫这个类的一个实例化对象。

    Java相关语法

    注:以下语法中,[]和<>中的内容是编码时需要编码者自己编写的内容(不包括括号本身),其中[]中的内容为可选项,<>中的内容为必填项。...代表省略部分。

    // 以下为语法
    [修饰符] class <类名>{
      ...
    }
    // 以下为示例
    public class Cat{
      ...
    }
    class Dog{
      ...
    }
    

    类的成员变量

    class Demo{
      // 以下为语法
      [修饰符] <数据类型> <变量名>;
      // 以下为示例
      private int a;
      private double d;
      float f;
      ...
    }
    

    类的成员函数

    class Demo{
      // 以下为语法
      [修饰符] <返回值数据类型> <函数名> ([<数据类型> <参数1>],[<数据类型> <参数2>]...){
        ...
      }
      // 以下为示例
      private int getNum(){
        ...
      }
      public void setName(String name){
        ...
      }
      void addNum(int a,int b){
        ...
      }
    }
    

    创建类的实例化对象

    class Demo{
      public staic void main(String[] args){
        // 以下为语法
        [<类名> <对象名> = ] new <类名>([<数据类型> <参数1>],[<数据类型> <参数2>]...);
        // 以下为示例
        Cat xiaohua = new Cat();
        new Dog("xiaohei");
      }
    }
    

    实例化对象调用类的成员

    注:实例化调用类的一个成员的前提是该成员是非私有成员,成员的访问权限由修饰符决定,不在本文的讨论范围中,请自行查阅相关资料。

    实例化对象调用类的成员变量

    class Demo{
        public static void main(String[] args){
          // 以下为语法
          <对象>.<变量名>;
          // 以下为示例
          cat.eyes;
          cat.ears;
        }
    }
    

    实例化对象调用类的成员函数

    class Demo{
        public static void main(String[] args){
          // 以下为语法
          [<返回值类型> <变量名> = ] <对象>.<函数名>([参数1],[参数2]...);
          // 以下为示例
          cat.jump();
          cat.eat(new Fish());
          Knowledge kl = person.study();
        }
    }
    

    面向对象应用示例

    利用面向对象思想进行 学生网上选课 程序设计

    前言
    假设我们现在要设计一个学生网上选课的程序,我们已有的数据有:3000名学生的信息,包括学生的学号、姓名、性别、年龄...100门可选课程,包括课程的编号、名称、类别...我们的目标是设计出一个程序,使得学生可以使用该程序进行选课、退课。
    设计步骤

    1. 将数据抽象化为对象。此例中我们可以将数据抽象化为两类对象:学生(Student)和课程(Course)。
    2. 确定每类对象中的成员。
      对于课程对象,我们有成员变量:编号(id)、名称(name)、类别(category)...
      对于学生对象,我们有成员变量:学号(id)、姓名(name)、性别(sex)、年龄(age)...有成员函数:选课(selectCourse)、退课(dropCourse)。
    3. 创建每种对象的类:

    课程类

    class Course{
      int id;
      String name;
      String category;
    }
    

    学生类

    class Student{
      ind id;
      String name;
      String sex;
      int age;
      boolean selectCourse(Course course){
        ...
      }
      boolean dropCourse(Course course){
        ...
      }
    }
    
    1. 通过完成学生类的选课(selectCourse)、退课(dropCourse)成员函数,即可完成设计目标。

    总结

    利用面向对象的思想来设计程序,往往可以让设计者在设计过程中思路清晰、化繁为简。并且,使得原本松散、无序的数据得到了统一、有序的结构,便于设计者对数据的管理。

    相关文章

      网友评论

        本文标题:Java面向对象解析

        本文链接:https://www.haomeiwen.com/subject/pzjkfqtx.html