1.2 面向对象程序设计

1.2.1 对象(object)

  • 对象具有两方面的含义:

    在现实世界中:
      是客观世界中的一个实体
    在计算机世界中:
      是一个可标识的存储区域

1.2.2 类(class)

类:具有共同属性和行为的对象集合

  • 属性: 变量(字段field)
  • 行为: 函数(方法method)

类与对象的关系

  • 类是对象的抽象(模板)
  • 对象是类的实例

注:类和对象有时都统称“对象”,为了明确起见,后者称为“对象实例”

1.2.3 面向对象的三大特征

  • 封装性

    模块化:将属性和行为封装在类中,程序定义很多类。
    信息隐蔽:将类的细节部分隐藏起来
         用户只通过受保护的接口访问某个类。

class Person{
    private intage;
    public intgetAge(){ return age; }
    public void setAge(inta){ age=a;}
    String name;
    void sayHello(){…}
}
  • 继承性

  父类和子类之间共享数据和方法

  继承的好处:

    更好地进行抽象与分类
    增强代码的重用率
    提高可维护性

//父类
class Person{
    intage;
    String name;
    void sayHello(){…}
}

//子类
class Student extendsPerson{
    String school;
    double score;
    void meetTeacher(){ … }
}
  • 多态性(polymorphism)

  不同的对象收到同一个消息(调用方法)可产生完全不同的效果
  实现的细节则由接收对象自行决定

//例子
foo( Person p ){ p.sayHello(); }
foo( new Student() );
foo( new Teacher() );

1.2.4面向对象设计思想的要点

认为客观世界由各种对象组成

程序的分析和设计都围绕着

  • 有哪些对象类
  • 每个类有哪些属性、哪些方法
  • 类之间的关系(继承、关联等)
  • 对象之间发送消息(调用方法)

 (本文内容摘自:https://www.icourse163.org/learn/PKU-1001941004?tid=1002731007#/learn/content?type=detail&id=1003758018&cid=1004476040)

猜你喜欢

转载自www.cnblogs.com/zjcao/p/9190766.html