面向对象程序设计

Posted jadexu07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象程序设计相关的知识,希望对你有一定的参考价值。

(week1-2)

1. 对象(object)

  • 对象具有两方面的含义

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

2. 类(class)

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

  1. 属性:变量(字段 field)
  2. 行为:函数(方法 method)
  • 类与对象的关系

  1. 类是对象的抽象:例
    1 class Person{
    2     int age;
    3     String name;
    4     void sayHello(){……}        
    5 }

     

  2. 对象是类的实例:例 Person p = new Person()

3. 面向对象的三大特征

  • 封装

  1. 模块化:将属性和行为封装在类中
  2. 信息隐蔽:将类的细节部分隐藏起来,用户只通过受保护的接口访问某个类。例
    1 class Person{
    2     private int age;      //私有变量,不可访问
    3     public int getAge(){ return age; }          //公共方法,可访问
    4 }    
  • 继承

  1. 继承性:父类和子类之间共享数据和方法
  2. 继承的好处:
    • 更好地进行抽象与分类
    • 增强代码的重用率
    • 提高可维护性

   例

 1 //父类
 2 class Person{
 3     int age;
 4     String name;
 5     void sayHello(){……}  
 6 }
 7 
 8 //子类(可直接引用父类的成员)
 9 class Student extends Person{    //java中继承用extends关键字    
10     String school;
11     double score;
12     void meetTeacher(){……}  
13 }

 

  • 多态

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

    例

1 sayHello (Person p ){ p.sayHello(); }    //定义函数
2 
3 //引用函数
4 sayHello ( new Student() );   
5 sayHello ( new Teacher() );

以上是关于面向对象程序设计的主要内容,如果未能解决你的问题,请参考以下文章

Java中面向对象的三大特性之封装

Scala的面向对象与函数编程

python之路之前没搞明白4面向对象(封装)

JAVA方法的定义

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂