Java(类与对象、封装)

面向过程、面向对象

  • 面向对象编程(Object-Oriented Programming, OOP)
    • 本质:以类的方式组织代码,以对象的组织(封装)数据。
  • 抽象
  • 三大特性
    • 封装
    • 继承
    • 多态
  • 从认识论的角度考虑是先有对象后有类。对象是具体的事物,类是对象的抽象。
  • 从代码运行角度考虑是先有类后有对象。类是对象的模板。

1.类与对象

  • class Person{...属性、方法....}  //类
    
    Person A=new Person();   //A 是对象
    
  • 创建与初始化对象
    • 使用new关键字创建的时候,除了分配内存之外,还会给创建好的对象进行默认的初始化,以及对类中构造器(C++中称为构造函数)的调用。
    • 类中的构造器也被称为构造方法,创建对象时必须要调用。有以下特点:
      • 必须和类的名字相同
      • 没有返回类型,也不能写void
    • 构造器(构造方法、构造函数)
    public class Person {
      //一个类即使什么都不写,也会存在一个默认的无参构造方法
      //显示地定义构造器
      String name;
    
      //作用:1. 使用new关键字,本质是在调用构造器
      //2. 用来初始化对象的值
      public Person(){} //无参构造
    
      //有参构造 3.一旦定义了有参构造,无参就必须显示定义
      public Person(String name){
          this.name=name;
      }//Alt+insert 快捷键插入构造方法
    
    class A{
        public static void main(String[] args){
            Person A=new Person("小白一号");//创建一个对象 名叫A 并给A的构造器传递参数“小白一号”
    
            System.out.print(A.name); //调用并输出A的name
        }
    }
    

2.封装

  • 该露的露,该藏的藏
    • 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据细节由自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
  • 封装(数据的隐藏)
    • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,称为信息隐藏。
  • 作用
    • 提高程序的安全性,保护数据
    • 隐藏代码的实现细节
    • 统一接口
    • 系统可维护性增加了
    class Person{
        //私有   外部不可以直接以 对象.name 的方式直接使用
        private String name;
        private int id;
        private int age
    
        //通过下面两个函数访问和修改数据
        public void input(){}
        public void output(){}
    }
    
posted @ 2021-07-25 16:41  为搞钱而写代码  阅读(69)  评论(0)    收藏  举报