没有对象,怎么面向对象编程?

本贴最后更新于 1951 天前,其中的信息可能已经斗转星移

timg.jpeg

浅谈面向对象

  • 对象是指用于行为或思考的目标。

  • 比方说博主想恋爱了,总得找一个目标(大波浪的妹子)吧, 当然也有程序猿喜欢知难(男)而上的。

  • 想恋爱是不是思考,是不是一种行为。在编程中表现为方法

  • 大波浪的妹子有很多,这是一个群体,是一类人。在编程中表现为

  • 而博主谈恋爱不能跟一群妹子谈吧,我很专一(hua xin, 可以考虑)的,而是具体到某一个妹子,这是一个具体的目标,是大波浪的妹子中的其中一个,是一个对象。在编程中表现为类实例

  • 大波浪的妹子是一类人,这类妹子都有一个特点大波浪(貌似是两个),  这属于特征或属性,在编程中表现为类属性。这类妹子都很会化妆丶打扮,这是动作行为,在编程中表现为类方法

  • 当具体到这类妹子中的其中一个时,她还是具有大波浪的特征,化妆丶打扮的行为,可以理解为实例对象可以访问类属性和类方法
    且她有自己的一些特殊爱好和特别的品质, 理解为实例对象可以具有实例属性和实例方法, 且类对象是无法访问的。

面向对象编程三大特征

封装

封装的概念是将对象的属性和行为隐藏起来,只对外提供接口,外部无法知道实现细节,既是对本身数据的保护,也方便外部调用而不必知道其具体实现细节。

好比是主板,对外提供了内存插槽,硬盘插槽,用户添加内存条和硬盘只要插进去就行了,而不需要知道,主板是如何控制内存和硬盘的。

继承

继承的概念是子类可以获得父类的属性和方法。
子类可以定义自己的新属性和新方法,同时也可以覆盖父类的属性和方法。
继承的好处是,提高了代码的复用率,将事物的公共属性和行为抽离出来,放在父类中,子类通过继承父类获得这些属性和行为,而不必在每个类中去实现这些方法。

u65692029199472825fm26gp0.jpg

多态

一个任务有多种完成方法,一个问题有多个答案。
具体的说,父类定义一个接口或虚方法或抽象方法,
让子类各自去实现它,不同的子类实现方法有所不同,
表现为这个接口有多种多样的形式,这就是多态。
u16871429243287264866fm26gp0.jpg

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...