5.2 面向对象上

面向对象(上):
  1, 什么是面向对象, 什么是面向过程 ?

              面向对象是用什么方法做某事,这件事是对象,方法不管

              面向过程是用什么方法做某事,这个方法就是过程
  2, 类, 对象, 成员变量(属性,静态属性), 成员方法(方法, 动态属性), 局部变量分别的含义 ?
  3, 面向对象的特点有什么 ?
    封装
      private(public)
    继承

    多态   重名的变量名有不同的表现形式
      Cut
      Cut

  4, 如何在程序中创建一个对象 ?(首先要定义一个类)
    类体
      成员变量的作用范围(整个类)
    练习: 编写一个Person的类, 使其有一个方法可以调用, 并打印出姓名和年龄
        我叫..., 今年多少岁

    类和类之间的关系
      关联关系(不好下一个定义描述关联关系, 比较弱的关系)

        一个类中的某个方法的参数是另一个类的对象
        一个类中的成员变量是另一个类的对象

      *继承关系(extends关键字)
        什么是一种什么
      聚合关系
        聚集
          球队->队长   不是比不可少的
        组合
          一个类的组成部分是必不可少的
      *实现关系
        机器人:
          走
          跑
          跳

   5, 成员变量在类中是如何初始化的 ?
      byte      0
      short       0
      int              0
      long      0L
      float      0.0F
      double     0.0D
      boolean           false
      char      '/u0000'
      引用类型    null
      (引用类型是:所有的类, 所有的接口, 所有的数组)  

    6, 如何更好的设计一个类 ?
      合适的方法出现在合适的类里面
    7, 什么是类的封装 ?
      private关键字修饰的成员变量, 只能在当前类中使用   需要用get,set

public class Emp {

    // 构造方法
/*    public Emp() {
        System.out.println("空参的构造方法");
        name = "Tom";
        sal = 12345;
        age = 30;
    }*/
    public Emp() {}
    
    public Emp(String _name, int _age) {     //对外公开的方法
        System.out.println("有参数的构造方法被调用了");
        name = _name;
        age = _age;
    }

    private String name; // 姓名
    private double sal; // 工资
    private int age; // 0 - 120 1000

    public void introduce() {
        System.out.println("我叫" + name + ", 工资是: " + sal + "今年" + age + "岁");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSal() {
        return sal;
    }

    public void setSal(double sal) {
        this.sal = sal;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

    8, 什么叫构造方法 ? 构造方法的重载 ? // 方法名相同, 参数列表不同
      构造方法:
        就是用来构造一个对象的方法
        1, 构造方法没有返回值, 没有返回值也不能写void
        2, 构造方法名与类名一模一样
        3, 定义一个类的时候, 如果没有写任意的一个构造方法, 则默认生成一个空参的构造方法
        4, 当一个类中有定义的带参数的构造方法的时候, 则空参的构造方法会消失
       

 

posted on 2018-05-04 15:51  sunyexiang  阅读(134)  评论(0编辑  收藏  举报

导航