zoukankan      html  css  js  c++  java
  • 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, 当一个类中有定义的带参数的构造方法的时候, 则空参的构造方法会消失
           

  • 相关阅读:
    get和post的区别
    关于webWorker的理解和简单例子
    JavaScript停止事件冒泡和取消事件默认行为
    深入理解js构造函数
    js之yeild
    文件组织方式
    HTML5新增的标签和属性归纳
    css3新增属性
    CSS3 transition介绍
    Mysql安装
  • 原文地址:https://www.cnblogs.com/syx1997/p/8991002.html
Copyright © 2011-2022 走看看