2021-05-22搭建流水线、描述CPU的速度和硬盘容量
作者:互联网
类和对象
目录
6、本次例子1搭建流水线(计算平均分,制作歌唱大赛打分系统【去掉最高和最低分,然后求平均值】)
1、前提概要
之前稍微介入了一点面向对象的概念,重点介绍了面向对象的三个特性“封装”、“继承”、“多态”,我用很通俗的语言重点说明了前两种特性,“封装”就是包装,把源代码包装好,让用他的人知道他到底是干什么用的就可以,不需要让他知道是如何达成需求的;“继承”就是现实世界的继承、传承,子类有父类的特征、特性、方法,同时子类也可以拥有一些自己的东西,而这些东西父类并没有;“多态”就是,一堆特性、特点的统一接口。
2、实现一个软件的过程是什么?
软件的实现并不是仅仅依靠编程就可以的,软件的现实是先分析,再设计,最后在编程。这里涉及到了软件工程的相关知识。
3、类、对象、实例、实例化、抽象
(1)类
①介绍
首先,类是一个不存在的事物,也可以是它就不是个东西,他只是一个概念,就像动物类、书类,它们没办法代表任意一本书,或者一个动物,就像在生物中的分类法里有“界、门、纲、目、科、属、种...”这些都是类,他只是一个人类大脑思考所总结出来的模板,而在这个模板中它所描述的是一个共同特征。举一个很简单的例子,在学生时期老师总是说“有些同学啊!败坏校风班风,铤而走险上课吃辣条!”这里老师所说的“有些同学”就是一个类,它所描述的是一个特征“上课吃辣条”,它代表的是具有这一特征的所有实体。
②类的语法规则
public class 类名{
//属性
public [static void] 特点1(){//方法(描述行为动作)
}
public [static void] 特点2(){
}
.....
}
(2)对象
520、521刚过去,可不敢说对象不是个东西,会挨打的!!对象是一个真实存在的个体,他具备一些属性、特征等,都是类赋予他的。
(3)实例
实例就是对象的另一个称呼。这里就涉及了解三种变量,实例变量、成员变量和局部变量。实例变量在某种意义上就是成员变量,他们定义在方法体外,可以被给予默认值,他们的存在就像上个世纪的大学生,当时的大学生是有工作分配的,可见这两个变量地位、权力非同一般,他们可以作用于这一面的整个程序,但是对成员变量的操作只能在方法体中。而局部变量就像保密员,一旦出了大括号,方法体就不认识了,想在大括号、方法体外去调用局部变量,那是不可能的,同时他们没有默认值,必须由程序员手动赋值。
(4)实例化
它代表通过类这个模板创建对象的过程。例如上面说到学生时代,老师会说“有些同学啊!败坏校风班风,铤而走险上课吃辣条!尤其是张三!”张三就是这个“吃辣条”类的实例化。、
(5)抽象
抽象的意思就是多个对象具有的共同特征,进行总结思考抽取共同特征的过程。例如在学生时代张三上课玩手机、李四上课玩手机、王二麻子上课也玩手机,老师就会说“你们这些上课玩手机的学生,放学把你们家长叫过来我办公室喝喝茶。”所以“张三”、“李四”、“王二麻子”就被抽象成了“上课玩手机的学生”。
总结一下类=属性+方法。
类、对象(实例)、实例化、抽象之间的关系就如下图:
4、方法
1、介绍
方法就像C语言中所谓的函数,它由方法体和方法头构成
2、方法的语法规则
方法头{
方法体;
}
5、类的UML图
UML (Unified Modeling Language Diagram, UML)图属于结构图,常被用于描述一个系统的静态结构。一个UML中通常包含类(Class)的UML图、接口(Interface)的UML图、泛化关系(Generalization)的UML图、关联关系(Association) 的UML图、依赖关系( Dependency) 的UML图和实现关系(Realization)的UML图。
6、本次例子1搭建流水线(计算平均分,制作歌唱大赛打分系统【去掉最高和最低分,然后求平均值】)
<1>源代码
//搭建流水线,计算分数评定程序,去掉一个最高分一个最低分,然后算平均分
import java.util.Scanner;
import java.util.Arrays;
class Input{
Del dele;
Input(Del d){
dele=d;
}
void input(){
System.out.println("请输入评委个数:");
Scanner s=new Scanner(System.in);
int count=s.nextInt();
System.out.println("请输入评委分数:");
double a[]=new double[count];
for(int i=0;i<a.length;i++){
a[i]=s.nextDouble();
}
dele.del(a);
}
}
class Del{
ComputerAverage com;
Del(ComputerAverage c){
com=c;
}
void del(double a[]){
Arrays.sort(a);
double b[]=new double[a.length-2];
for(int i=0;i<b.length;i++){
b[i]=a[i+1];
}
com.average(b);
}
}
class ComputerAverage{
double sum;
void average(double b[]){
for(int i=0;i<b.length;i++){
sum=sum+b[i];
}
double aver=sum/b.length;
System.out.println("选手最后得分为:"+aver);
}
}
class Line{
Input one;
Del two;
ComputerAverage three;
Line(){
three=new ComputerAverage();
two=new Del(three);
one=new Input(two);
}
void giveScore(){
one.input();
}
}
public class Experiment06{
public static void main(String args[]){
Line line=new Line();
line.giveScore();
}
}
<2>运行结果
7、本次例子2描述CPU的速度和硬盘容量
<1>源代码
//CPU简介
class PC{
CPU cpu;
HardDisk HD;
void setCPU(CPU c){
cpu=c;
}
void setHardDisk(HardDisk h){
HD=h;
}
void show(){
System.out.println("CPU的速度为:"+cpu.getSpeed());
System.out.println("硬盘容量为:"+HD.getAmount());
}
}
class CPU{
int speed;
void setSpeed(int m){
speed=m;
}
int getSpeed(){
return speed;
}
}
class HardDisk{
int amount;
void setAmount(int m){
amount=m;
}
int getAmount(){
return amount;
}
}
public class Experiment05{
public static void main(String args[]){
CPU cpu=new CPU();
cpu.setSpeed(2200);
HardDisk disk=new HardDisk();
disk.setAmount(200);
PC pc=new PC();
pc.setCPU(cpu);
pc.setHardDisk(disk);
pc.show();
}
}
<2>运行结果
今天的文章到此结束,祝520、521的你们百年好合,永远幸福!
标签:22,05,int,void,硬盘容量,实例,UML,方法,CPU 来源: https://blog.csdn.net/m0_49696346/article/details/117149086