java 入门如何设计类

2019/12/24   |    在校大二上学期    |    太原科技大学

初学java后,我们会发现java难点不在于Java语法难学,而是把我们挂在了如何设计类的“吊绳”上了。这恰恰也是小白与入职多年的程序员的的差距之一。所以今天来分享一下我的观点:

那么如何设计类呢?有没有遵循的原则可言呢?答案呢,就是下面的叙述!

面试官:“请你用C++/java/Python等语言以面向对象的方式,设计一个在console上运行的计算器。”

面试者埋头10分钟,写出了实现计算器功能的程序。 这里呢,程序就不往上弄了。但是小鸟写的程序大概是这样子的:一个class、一个main方法和一连串的代码,从头到尾就有一个类和一个主方法。但是这不利于后期运维,并且可拓展性很差。

所以,分"类"设计实现功能分装变得尤为重要。设计思路如下:

计算器最基本的功能为 :+ - * / 。可以将加减乘除分别写一个类,都去继承Operation类(父类)。那么如何给用户一个给好的操作方法呢?那么就得在设计一个类(OperationCompany类)。而这个类比较特殊,主要负责用户输入什么运算,就new 什么对象。 什么意思呢? 比如说,用户想实现乘法这个运算,那么在用户输入乘号*后,这个类的方法就会以乘法类为模板,new一个乘法类对象出来,从而去调用乘法的类方法。这种模式叫做简单工厂原则。

其中,加减乘除分开设计就体现了封装这一特性,而Operation(父类)的子类(加减乘除)就体现了子类的多态性。俗称“一龙生九子,九子各不同”,正是这个道理;而子类继承父类Operation类是继承所在。所以在编程中边品边思考,才会信手拈来高质量的代码行。

转载注明出处:  https://www.cnblogs.com/TreasureBoy-blog/

(0)

相关推荐

  • Java向上转型和向下转型

    一.向上转型 简单的说向.上转型就是:将-一个子类类型的对象赋值给- -个父类类型的变量, 基本的实现语法: 父类类型变量=new 子 类类型(); DEMO:向上转型 发现了可以使用父类类型的变量调 ...

  • Java接口的其他使用语法

    一.接口的其他语法 之前讲了接口的概念和定义,以及接口的子类定义等语法之外还要一些 其他的使用方式,还要掌握接口的一些其他语法. DEMO: 一个子类可以实现多个接口 如果要让一个子类实现多个接口,那 ...

  • java的重载与重写

    原文链接http://zhhll.icu/2020/11/11/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/%E9%87%8 ...

  • 设计模式学习笔记 ———— 简单工厂模式

    # 背景 简单工厂模式是很多程序员学习的第一个设计模式,因为其不但原理简单而且易于上手,在日常工作的代码中也常有体现.今天分享一个基于实现"加"."减".&qu ...

  • 章子怡被骂“堕落了”,看了这本杂志后,跑去综艺赚钱装修豪宅?(内附2.36GB国内外高端设计类杂志)

    去年 小编被汪峰在<歌手>上的告白 油腻掉了半条命!! 今年 随着<妻子2>的开播 小编仿佛变成了颗柠檬精~ 在妻子的浪漫旅行第二季中,迎来了为大咖--章子怡. 由" ...

  • 陆介政:套保姆级的Java入门教程,Java零基础入门

    ​最近很多人问我想学Java但是一点基础没有,网上看了一堆学习线路图还是无从下手.今天耗时3小时整理了一套保姆级的Java入门教程,建议收藏按照线路图一点点学习. 一.Java的概况 Java是199 ...

  • Java泛型——泛型矩阵类

    Java泛型--泛型矩阵类 所有矩阵,加法和乘法操作都是类似,所以设计一个父类,不用管元素类型,目的描述所有类型的矩阵共享的通用操作 创建若干适用于指定矩阵类型的子类,实例:两种类型int和Ratio ...

  • Java入门基础知识点整理大放送,推荐收藏

    为了方便大家学习Java,理顺Java技术知识点,也可以助您尽快的努力成长起来,小编整理了以下Java入门基础知识,一起来学习吧! 一.概述 1991年Sun公司的James Gosling等人开始开 ...

  • Java入门基础代码:Java代码由什么组成?

    2019PHP高薪工程师学习路线图....>>> Java编程部件除了运算符,还有表达式及语句. 表达式分为: 关系表达式.算术表达式.条件表达式及赋值表达式 语句分为: 空语句.声 ...

  • 22个新中式景观节点,带你入门新中式设计!每一张都图文并茂、精彩至极!

    文章转载自:建筑师的非建筑 何为新中式 新中式是传统中国文化与现代时尚元素在时间长河里的邂逅,以内敛沉稳的传统文化为出发点,融入现代设计语言,为现代空间注入凝练唯美的中国古典情韵. 它不是纯粹的元素堆 ...

  • 北京画室设计类排名前五都有哪些?成绩代表画室实力!

    北京设计类画室排名前五都有哪些呢?对于很多想考央美设计.清美设计的美术生来说,这个问题一直困扰着他们,随着移动互联网的普及,每个人都有了自己的移动设备,现在有差不多90%的美术生都会利用网络去搜索北京 ...

  • Java高并发16-LongAdder类源码解析(下)

    一.复习 上次连载简单的介绍了其他函数的作用以及功能 二.完整的LongAdder类源码 package com.ruigege.AtomicOperationClass4;import java.u ...

  • Java学习——38、类的抽象性

    抽象是研究复杂对象的基本方法,从复杂对象中抽象出本质特征,忽略次要细节,使某些信息和实现对于使用者不可见.抽象层次越高,其软件利用程序越高. 1.抽象类 使用关键字abstract声明的类为抽象类. ...