精华内容
下载资源
问答
  • 但他的语言是可以逐步解释成人能懂的语言的,因为他的语言是由以下两种形式规则由人的语言逐步抽象上去: (1)α→β1β2 …… βm (2)(θδ1δ2 …… δn)→ θδnθδn-1 …… θδ1 θ 在这两种形式中,从左到...
  • java语言基础之抽象

    2020-04-27 17:38:50
    生活中有很多概念是抽象的,与之对应的是具体事物。 例如: 抽象概念 具体事物 形状 三角形、矩形、圆形等 车辆 公交车、火车、小汽车等 二、抽象类的声明 以形状(Shape)为例: package ...

    一、抽象的概念

         生活中有很多概念是抽象的,与之对应的是具体事物。

       例如:

    抽象概念 具体事物
    形状 三角形、矩形、圆形等
    车辆 公交车、火车、小汽车等

     

    二、抽象类的声明

    以形状(Shape)为例:

    package com.yg.abs;
    
    //使用abstract修饰的类称为抽象类
    public abstract class Shape {
    	
    	protected double area;//抽象类可以定义变量
    	
    	/**
    	 * 使用abstract修饰的方法称为抽象方法,没有方法体
    	 * 没有确定具体形状前,不可能求得了面积。
    	 * 所以先声明为抽象方法,让具体的子类去实现
    	 */
    	public abstract double getArea();
    	
    	//抽象类也可以有非抽象方法
    	public void print()
    	{
    		System.out.println("形状");
    	}
    	
    }
    

    具体的矩形类,继承Shape类: 

    package com.yg.abs;
    
    //矩形
    public class Rectangle extends Shape{
    
    	double w;//底
    	double h;//高
    	 
    	public Rectangle(double w, double h) {
    		super();
    		this.w = w;
    		this.h = h;
    	}
    
    	//必须重写父类抽象方法
    	@Override
    	public double getArea() {
    		// TODO 自动生成的方法存根
    		return w * h;
    	}
    
    }
    

    具体的三角形类,继承Shape类

    package com.yg.abs;
    
    public class Triangle extends Shape{
    
    	double w;//底
    	double h;//高
    	
    	public Triangle(double w, double h) {
    		super();
    		this.w = w;
    		this.h = h;
    	}
    
    	@Override
    	public double getArea() {
    		// TODO 自动生成的方法存根
    		return w * h /2;
    	}
    	
    }
    

    形状测试类:

    package com.yg.abs;
    
    public class ShapeTest {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		//Shape s = new Shape();//会报错,因为抽象类不可以实例化
    		
    		Shape shape = new Rectangle(5,6);//引用子类实例
    		double area = shape.getArea();//会调用矩形的求面积方法
    		System.out.println(area);
    		
    		shape = new Triangle(5,6);//引用另一个子类实例
    		area = shape.getArea();//会调用三角形的求面积方法
    		System.out.println(area);
    	}
    
    }

    三、抽象的意义

    方便构建对象体系,利于程序的扩充。越抽象,越能体现事物的本质。

    上述例子,如果需要求圆形面积,只需要新增圆形类继承Shape类并实现抽象方法。

    测试类让Shape类引用圆形实例即可,无须改动其它地方。

    四、注意事项

    1. 有抽象方法的类一定要声明为抽象类

    2. 抽象类可以有非抽象方法

    3. 抽象类的子类可以是抽象类也可以是非抽象类

       非抽象子类必须实现父类的抽象方法。

    4. 抽象类不可以实例化,因为抽象和实例本来就是相对的概念。

     

    展开全文
  • 在接口中,没有具体的属性,只规定了相应的方法和对应的参数和返回值。这一种最高程度的抽象,需要找到要代表的这一类对象的所有的共性,判断能够满足其应用的所有操作。然后在对接口的实现过...

    OOP语言,为了增加ADT的复用性和可维护性,通常需要使用接口和抽象类。下面我们介绍一下接口,抽象类,和具体类之间的区别和联系:

    面向对象的编程,最主要的一个想法就是抽象。而接口和抽象类就是为抽象而生的。

    在接口中,没有具体的属性,只规定了相应的方法和对应的参数和返回值。这是一种最高程度的抽象,需要找到要代表的这一类对象的所有的共性,判断能够满足其应用的所有操作。然后在对接口的实现过程中,针对不同的对象实例,对于接口中的方法进行不同的实现。

    而对于抽象类,是较接口低一层次的抽象,它找到一些对象之间的共性,然后在自己的内部实现一定的功能,同时还规定一些抽象方法,让继承它的具体类能够根据不同的特性对于抽象方法进行不同的抽象。

    而具体类,就是我们在应用中实际要应用的类。对于这些类,其内部不能存在抽象方法,所有的方法都应有具体的实现。同时一个抽象类可以对多个接口进行实现,只需要override接口中的抽象方法即可。而具体类只能继承一个抽象类,然后override抽象类中的抽象方法。这是抽象类和具体类之间的一个区别。同时,在接口中,没有属性,所有的方法都是抽象方法,而在抽象类中,可以有具体的属性,一部分方法可以是已经实现的,但是仍要求有一部分方法是抽象的,要不然不能叫做抽象类,这是抽象类和接口的另一个区别。

    转载于:https://www.cnblogs.com/mrchi/p/9218785.html

    展开全文
  • JAVA语言的优点及特性

    2021-03-13 19:43:10
    面向对象是一中程序设计技术与之对应的是面向过程,例如:C,C++。 Java的面向对象是将现实生活中的具体事务,抽象为数据及操作数据的方法,模拟的是人的思维去写程序在后期可以方便的去使用。相对于面向过程大大...

    JAVA语言的优点及特性

    Java语言有8大优势

    • 广泛性
      Java是使用最多的编程语言之一
    • 简单性
      java语言的语法与C和C++接近。学习简单,好使用。
    • 面向对象

    面向对象是一中程序设计技术,与之对应的是面向过程,例如:C,C++。

    Java的面向对象是将现实生活中的具体事务,抽象为数据及操作数据的方法,模拟的是人的思维去写程序在后期可以方便的去使用。相对于面向过程大大提高了程序的开发效率。

    • 可移植性
      凭借着JVM(java虚拟机)java可以跨越不同的操作系统运行程序。可以做到“ 一次编写,处处运行 ”的优势。

    • 多线程
      java内置了多线程的支持。多线程处理能力使得程序能够具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让你惊喜的强大功能,而且在Java语言中进行多线程处理很简单。

    • 安全性
      java广泛运用到网络编程中,java提供了许多安全机制,以防代码被恶意攻击。

    • 动态性
      Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

    • 多线程性
      Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制

    • 编译解释
      Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

    JAVA的三大特性

    1.封装
    将类的信息隐藏在类的内部,通过类方法的调用来实现对类中隐藏信息的修改与访问。
    2.继承
    继承是一种类与类的关系,子类继承父类。(Java中子类是单继承,即只能继承一个父类
    3.多态
    多态就是对象的多种形态。(java的多态主要表现在两个方面:父类的引用可以指向本类的对象;父类的引用可以指向子类的对象)

    展开全文
  • 抽象类 众所周知,Java一门面向对象的语言,在面向对象...由于抽象的概念在问题领域没有对应的具体概念,所有用以表征抽象概念的抽象不能被实例化的。 使用抽象类时要注意几点: 抽象类不能被实例化,实例化...

    抽象类

    众所周知,Java是一门面向对象的语言,在面向对象的领域中一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。由于抽象的概念在问题领域没有对应的具体概念,所有用以表征抽象概念的抽象类是不能被实例化的。
    使用抽象类时要注意几点:

    • 抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。
    • 抽象方法必须由子类来进行重写。
    • 只要一个类中包含抽象方法,那么该类一定要被声明为抽象方法,不管是否还包含有其他方法。
    • 抽象类中可以包含具体的方法,当然也可以不包含抽象方法。
    • 子类中的抽象方法不能与父类的抽象方法同名。
    • abstract不能与final并列修饰同一个类。
    • abstract 不能与private、static、final或native并列修饰同一个方法。

    接口

    接口是抽象方法的集合。如果一个类实现了接口,那么它就继承了这个接口的抽象方法。如果实现了这个接口,那么就必须实现接口中的所有方法。接口只是一种形式,接口自身不能做任何事情。
    使用接口时要注意几点:

    • 接口中的所有方法访问权限只能是public,当然你可以显式的声明为private和protected,但是编译会报错。
    • 接口中可以定义“成员变量”,默认均为public static final的。可以直接通过类名访问。
    • 在jdk1.8之前,接口可以被看成是一个完全抽象的类,即不能有任何实现的方法,但是从jdk1.8开始,接口可以开始有默认的实现方法。
    • 实现接口的非抽象类必须要实现该接口的所有方法。抽象类可以不用实现。
    • 不能使用new操作符实例化一个接口,但可以声明一个接口变量,该变量必须引用(refer to)一个实现该接口的类的对象。可以使用 instanceof 检查一个对象是否实现了某个特定的接口。例如:if(anObject instanceof Comparable){}。
    • 在实现多接口的时候一定要避免方法名的重复。

    接口和抽象类的区别

    • 从设计层面上看,抽象类提供了一种 IS-A 关系,那么就必须满足里式替换原则,即子类对象必须能够替换掉所有父类对象。而接口更像是一种 LIKE-A 关系,它只是提供一种方法实现契约,并不要求接口和实现接口的类具有 IS-A 关系。
    • 从使用上来看,一个类可以实现多个接口,但是不能继承多个抽象类。
    • 接口的字段只能是 static 和 final 类型的,而抽象类的字段没有这种限制。
    • 接口的成员只能是 public 的,而抽象类的成员可以有多种访问权限。
    展开全文
  • 流行歌曲歌词语言常冲破语法和语义限制,把表现抽象概念词与表示具体概念词进行搭配,将表现人词语与表现物词语进行搭配,将名词和量词、语义相反或相对词进行搭配,形成超常组合,使语言具有一种语义表达上...
  • 抽象层次

    千次阅读 2013-05-17 18:38:04
    在学习的过程中一定要对自己的抽象层次有清楚的认识;或则说要知道领域的分界线在那里 ...如果再深的话就是这块抽象的内存所对应的物理内存;这就进入了操作系统的范围。 Java语言是一种纯面向
  • abstract class和interfaceJava语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。...抽象类只是一个抽象得概念,在问题领域中没有对应的具体概念,所以用以表
  • JavaScript语法解析与抽象语法树

    千次阅读 2019-05-16 11:45:26
    抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构。也就是说,对于一种具体编程语言下的源代码,通过构建语法树的形式将源代码中的语句映射到树中的每一个节点上。 ...
  • 如若想正确认识抽象类与接口,首先要弄清楚一点,这两个概念均属于面向对象思想层面,而不属于某种程序设计语言。例如,C#中用interface关键字声明的语言元素,我们叫它“接口”,其实这不准确,准确来说,...
  • 转JavaScript语法解析与抽象语法树

    千次阅读 2015-07-10 11:57:24
    抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构。也就是说,对于一种具体编程语言下的源代码,通过构建语法树的形式将源代码中的语句映射到树中的每一个节点上。 ...
  • 抽象类与接口

    2016-08-03 20:10:00
    在面向对象领域由于抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类和接口都不能实例化的。 一、抽象抽象类体现了数据抽象的思想,实现多态的一种机制。它定义了一组抽象的方法,...
  • 魔王语言的实现

    2007-10-12 22:12:59
    问题描述: 魔王总是使用自己一种非常精练而抽象的语言讲话,没人能听懂,但他 的语言是可逐步解释成人能听懂的语言,因为他的语言是由以下两种形式 规则由人的语言逐步抽象上去: -------------------...
  • 魔王语言.zip

    2019-10-31 14:59:29
    若将小写字母与汉字建立下表所示的对应关系, 则魔王说: " 天上一个 《数据结构》题集 14 鹅地上一个鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一个鹅地上一个鹅。" t d s a e z g x n i 天 地 上 一个 鹅 追 赶 下 蛋 ...
  • 汇编语言

    2019-08-12 20:31:14
    由于 汇编指令和机器指令关系密切,不同的指令集架构对应的汇编指令也有所差别,所以必须在某一种具体的指令集架构下进行学习。 以下的讨论基于x86架构 8086cpu 16位机器字长,20位地址线 由于地址线有20位,机器...
  • 魔王语言c++

    2012-04-18 14:14:44
    有一个魔王总是使用自己一种非常精练而又抽象的语言讲话,没有人能听得懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式规则由人的语言逐步抽象上去: (1) α -> β1β2…βm...
  • 代数1种抽象的数据集合操作方式来表达数据运算能力,它关系数据库标准语言s(1L查询操作 理论基础 本文从已经给出关系代数各种运算定义出发,将与标准s( 操作一一对应,得出相应 SQL语句结论,以便...
  • 首先先了解一下什么类,在这之前,我们需要了解一下java中对象概念,其实java这种面向对象程序语言就是为了描述我们所处大千世界,那么java中对象就是这个世界上一草一木的对应,比如我正在使用这台电脑...
  • 前言 最近在分析微信小程序,需要统计以前代码中所使用过的wx.api。...抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构。也就是说,对于一种具体编程语言下的源...
  • MM超级爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这...
  • 现实世界对象对应的。例如:如果你正在建立一个帐户管理系统,那么你的对象就是帐 户、欠款、信用卡、月收入、贷款、交易等等。如果你设计一个电子实习交通工具系统,那 么你的对象就是汽车、摩托车、自行车等等...
  • 映射表抽象

    2020-04-07 14:01:30
    映射表: 实现键与值之间的关联。 映射表提供了一种关联关系,在称为键的标识标记和其关联值之间建立关联,而关联值通常比键要...映射表使维护变量名与其对应的值之间的关联变得容易。 HashMap类: 实现映射表...
  • 该问题要求输入一句魔王说的话后,能够将他的话翻译成人能听得懂的话,并将其输出,由于题中只给出了A和B的转换规则,以及字母:t,d,s,a,e,z,g,x,n,h,d所对应的汉字,所以输入的魔王的话只能上述字符与括号所组成...
  • 产品族:在抽象工厂模式中,产品族着的是同一个工厂生产的,位于不同产品等级结构的一组产品,例如Oracle公司有Oracle数据库、Java语言等。 ​ 如果系统所提供的工厂所需生产的具体产品ing不是一个简单的对象,而是多...
  • 裘宗燕教授北京大学数学学院信息科学系,关心主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 390
精华内容 156
关键字:

抽象语言对应的是具体语言