public abstract void Perimeter();
}
抽象类和抽象方法的实现
===========
我们在上面说道一般将父类定义为抽象类,因此想要实现抽象类及其其中的抽象方法,就必须继承或派生自该抽象类。
**注意啦:在C#中继承抽象类使用“:”**
**而在Java中继承抽象类则需要使用“extends”关键字。**
同时,在继承了抽象类之后,若该抽象类中存在抽象方法,则需要使用关键字override对该方法进行重写。同时这也是实现抽象方法的一种方式。
下面分别是在Java和C#中实现抽象方法的案例分析,使用圆形类继承图形抽象类实现求面积:
**在Java中:**
**定义抽象类:**
package exeicise1;
//定义图形抽象类
public abstract class ShapeArea {
abstract void Area(); //定义抽象方法
}
**定义圆形类继承抽象类:**
package exeicise1;
//定义圆形类继承抽象类
public class Circle extends ShapeArea{
public double r;
public double s;
//对抽象方法重写
public void Area() {
s = 3.14 * r* 2;
System.out.println("面积是:" + s);
}
}
**在主方法中调用圆形类输出方法:**
package exeicise1;
public class Testmain {
public static void main(String[] args) {
Circle circle = new Circle(); //定义对象接收圆形类
circle.r = 2;
circle.Area();
}
}
**结果为:**
![](https://img-blog.csdnimg.cn/20200614215614349.png)
**在C#中:**
**定义图形类:**
using System;
using System.Collections.Generic;
using System.Text;
namespace Texta
{
//定义抽象类
abstract class ShapeArea
{
public abstract void Area(); //定义抽象方法
}
}
**定义圆形类并继承抽象类:**
using System;
using System.Collections.Generic;
using System.Reflection.PortableExecutable;
using System.Security;
using System.Text;
//using ShapeArea;
namespace Texta
{
//定义圆形类继承抽象类
class Circle : ShapeArea
{
public double r;
public double s;
//对抽象方法重写并实现
public override void Area()
{
s = 3.14 * r * r;
Console.WriteLine(“面积是:” + s);
}
}
}
**在主方法调用圆形类实现:**
#### 线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识
![](https://img-blog.csdnimg.cn/img_convert/d72c5fcd551bed3dcc88aa90997ce2f4.png)
#### 一线互联网P7面试集锦+各种大厂面试集锦
![](https://img-blog.csdnimg.cn/img_convert/979e1218d00e54e716cd2c4463b2912e.png)
**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**
#### 学习笔记以及面试真题解析
}
}
在主方法调用圆形类实现:
线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识
[外链图片转存中…(img-Cxq1WDiZ-1630920031310)]
一线互联网P7面试集锦+各种大厂面试集锦
[外链图片转存中…(img-anUJ8Khc-1630920031312)]
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】