什么是面向对象

在面向对象的编程中,系统中的每个实体都被视为一个对象、

这个对象包含了数据和操作数据的方法。

他有五个基本概念

  1. 类(Class):类是一种抽象的数据类型,它定义了对象的属性(数据)和行为(方法)。类是对象的模板或蓝图,可以创建多个具有相同属性和方法的对象。
  2. 对象(Object):对象是根据类创建的实例。每个对象都有自己的状态(属性值)和行为(方法),并且可以与其他对象进行交互。
  3. 封装(Encapsulation):封装是指将数据和操作数据的方法封装在一个单独的实体中(即类),外部无法直接访问和修改对象的内部状态,只能通过对象提供的公共接口来访问和操作数据。
  4. 继承(Inheritance):继承是指一个类可以继承另一个类的属性和方法,从而避免了重复编写代码。子类可以扩展父类的功能,并且可以重写或添加新的方法。
  5. 多态(Polymorphism):多态是指同一种操作可以作用于不同的对象,并且可以根据对象的类型执行不同的操作。通过多态,可以实现代码的灵活性和可扩展性。

生活举例:

假设我们要创建一个名为Girlfriend的类(Class),这个类代表所有女朋友的共同特征和行为。

类(Class):

        在OOP中,类就像是一个蓝图或者模板,描述了女朋友这个“事物”的基本属性(状态)和行为(方法)。例如,Girlfriend类可能包含如下的属性:姓名(name)、年龄(age)、身高(height)、体重(weight)等属性,以及诸如打招呼(greet)、聊天(chat)、送礼物(giveGift)等方法。


对象(Object):

根据Girlfriend这个类创建出的具体实例就是一个对象,例如,girlfriendXiaomei。她是Girlfriend类的一个具体化,有自己的特定属性值,如姓名是“小梅”,年龄是25岁,身高是1.65米等。当我们调用girlfriendXiaomei.greet()时,实际上是执行“小梅”打招呼这个行为。
封装(Encapsulation):

在Java中,可以通过private关键字保护对象内部的状态(属性),外部不能直接修改,必须通过getter和setter方法进行访问或设置。例如,Girlfriend类可以提供getName()和setName(String name)这样的方法,以保证对姓名属性的安全访问。
继承(Inheritance)

如果我们需要定义不同类型但又共享某些特性的女朋友,比如SmartGirlfriend类可以从Girlfriend类继承,额外增加“读书”(readBook)等智能型女朋友特有的行为。
多态(Polymorphism)

不同类型的女朋友(不同的类或者类的子类实例)可以响应同样的消息(方法调用),但产生不同的效果。例如,所有的女朋友对象都可以执行chat()方法,但是不同性格的女朋友在聊天时的内容和方式会有所不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值