美文网首页
Java OOP 思想解析

Java OOP 思想解析

作者: 灵儿菇凉 | 来源:发表于2017-05-05 16:16 被阅读0次

因为有着一年半的iOS开发经验(OC也是一门面向对象的语言)所以在对Java的面向对象的理解上也是有着自己的理解,今天就和大家分享一下。

面向对象中最为重要的三大思想就是:继承、封装、多态。本文将以一个实例场景来分析Java中的OOP。现有一个场景:学校人员管理。

首先分析出此场景所包含的角色类别:学生,老师,校长。那么我们可以为每个角色类别创建对应的类(具体相同特征或者行为的一种抽象)。学生(Student)、老师(Teacher)、校长(Headermaster)现在我们可以来分析一下这些类有没有一些共同的属性比如:姓名(name)、年龄(age)、性别(sex)等,因此我们就可以采用继承的思想,创建一个基类,让其他的类都继承这个基类(Person类),把共同的属性和方法就写在这个基类里面,其子类自动地共享基类中成员属性和成员方法。对应的目录如下

目录

在基类的基础上,我们可以为每个类增加自己特有的属性和方法。

我们以Person类和Student类还有Teacher类来分析封装和多态的概念

1.Person类

person类(省略set、get方法)

2.Student类

student类

3.Teacher类

teacher类

4.测试方法

public static void main(String[] args) {

Person person = new Student("xiaoming", "male", 12);

person.roleDescribe();

// person.scoreDescribe(); // 错误

Person teacher = new Teacher("MSWang", "female", 43);

teacher.roleDescribe();

Student xiaodong = new Student("xiaodong", "male", 13);

xiaodong.roleDescribe();

xiaodong.setScore(95.6);

xiaodong.scoreDescribe();

}

运行结果:

i am a student

i am a teacher

i am a student

i get 95.6!!

我们来分析一下:

多态:通过基类(Person)去创建子类(Student、Teacher)的对象,并且调用一个同名的方法roleDescribe()。由于子类中都覆盖了此方法所以此方法的效果会有多种形态,此过程便是多态。

封装:封装就是把数据和过程封装起来,对数据的访问只能通过已经定义的接口。在Java中可以通过public\private\protected 来实现封装。比如:Person类的name,age,sex都是私有属性,这是对属性的封装。对外界提供方法的封装,可以通过提供的方法对name,age,sex进行设置和获取。

但是看看Teacher类可以发现并没有提供薪水的(salary)的get方法,那是因为老师不想被其它人知道他的工资。

相关文章

  • Java OOP 思想解析

    因为有着一年半的iOS开发经验(OC也是一门面向对象的语言)所以在对Java的面向对象的理解上也是有着自己的理解,...

  • 类与对象(1) - Class、Object

    面向对象编程思想 Java开发是利用 面向对象 的思想实现 面向过程 的开发。 面向对象编程(OOP:Object...

  • 九月上--编程思想

    编程思想 1.oop思想 OOP:ObjectOrientedProgramming,面向对象编程(程序设计...

  • STL与泛型编程 week 2 (Boolan)

    OOP (Object-Oriented programming) 课件解析 评论: OOP企图将datas和me...

  • Java高手真经为您规划Java技术体系

    首先是Java的基础J2SE java的语法也不难,如果真正理解了OOP思想,入门挺快的 这些都是java这幢摩天...

  • JS提高篇

    JS还有很多很多东西要学习了解。js是基于原型的OOP语言,想进一步了解纯的OOP思想,推荐了解一下JAVA。JA...

  • Java 反射原理

    Java反射的实现 Java层面来说 用传统的OOP思想来说,任何一个你写好的且编译过的生成的Class文件,在被...

  • 高质量安卓面试题2018

    公司一 说下你所知道的设计模式与使用场景 java语言的特点与是OOP思想 说下java中的线程创建方式,线程池的...

  • Java OOP

    A class: is a set of instructions that describe how a dat...

  • 2020-01-30

    JAVA是一门面向对象程序设计的语言,其特点是封装、继承、多态。所谓面向对象,即是一种思想,简称OOP思想。这说的...

网友评论

      本文标题:Java OOP 思想解析

      本文链接:https://www.haomeiwen.com/subject/ruajtxtx.html