简述面向对象

对象

对象是对现实世界的实体的抽象,对象由属性(attribute)和操作(operation)组成

对象可以分成

主动对象(Active Object): 自有动力

被动反应对象(Reactive Object): 依赖于外部动力(例如main方法)

 

主动对象的行为:

主动对象有他自己的控制线程,一个并发任务,其他对象的消息异步地到达主动对象的消息队列,主动对象一次处理一个消息(一旦开始处理一个消息,一直持续到处理完成,不能被另一个事件中断,这叫做run-to-completion) 直到队列为空。

 

被动反应对象的行为:

在被动对象被创建后,他被动的等待其他对象向他发起请求,在完成请求服务后,再次进入等待状态,以此循环,直到这个对象被其他对象销毁。

 

面向对象

面向对象的基本思想是尽可能用人类的思维方式来构造软件系统。面向对象包括面向对象分析(OOA),面向对象设计(OOD),面向对象的程序设计(OOP),面向对象的测试(OOT)和面向对象维护等。

面向对象 = 对象 + 类  + 继承   + 消息传递(消息一般被实现成函数调用)

 

面向对象的四条基本原则:

抽象(Abstaction)

封装(Encapsulation)

继承(Inheritance)

多态(Polumorphism)

 

抽象

抽象意味着一个概念或者想法没有与他相关联的具体实例。我们通过抽象类/接口来得到一个类的内容而不是直接使用它。所以一个类使用另一个类时,不需要知道他的内部构造,只了解他的接口就够了。

 

封装

封装是通过限制访问公开方法的一种隐藏数据调用机制。实例的变量被定义为私有化而getter/setter方法设为公有来访问访问变量。

public class Employee {

    private String name;
    private Date dob; 
  
    public String getName() {
        return name;
    }    

    public void setName(String name) {
        this.name = name;
    }
   
    public Date getDob() {
        return dob;
    }   

    public void setDob(Date dob) {
        this.dob = dob;
    }
}

 

 

继承

两个对象的继承可以表示为"is-a"和'has-a"关系。通过继承,我们可以重用父类的代码,在java中的"is-a"可以通过类的继承(extends)或者接口实现(implements)

 

多态

多态意味着一个名字多种形式。它有两种形式——静态多态,动态多态。

静态多态是通过方法方法重载,而动态多态是通过方法重写。多态与继承有着紧密联系,比如说我们在父类写一段代码,这段代码它也可以在他的子类工作。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值