c中定义抽象类怎么写
1.C++中抽象类的定义
定义:
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”。[cpp] view plaincopyprint?virtual void funtion1()=0
virtual void funtion1()=0。
2.c#中定义一个抽象类,里边有两个虚方法,虚函数,分别求周长和面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
public abstract class Shape
{
// 面积
public abstract double Area();
// 周长
public abstract double Circumference();
}
public class Circle : Shape
{
private float radius;
public Circle(float radius)
{
this.radius = radius;
}
// 圆面积
public override double Area()
{
return Math.PI * radius * radius;
}
// 圆周长
public override double Circumference()
{
return Math.PI * 2 * radius;
}
}
class Program
{
static void Main(string[] args)
{
Circle c = new Circle(10);
Console.WriteLine("面积为:{0}", c.Area());
Console.WriteLine("周长为:{0}", c.Circumference());
}
}
}
3.用C++编写 抽象类的问题
#include<iostream>
using namespace std;
class shape
{
private:
double edge;
public:
virtual double area()=0;
void printArea()//输出面积函数在基类中,由子类继承
{
cout<<this->area()<<endl;
}
};
class circle :public shape
{
private:
double radius;//半径
public:
circle(){}
circle(double r)
{
radius=r;
}
double area()
{
double s=3.14*radius*radius;
return s;
}
};
class rectangle:public shape
{
private:
double len,wid;
public:
rectangle(double l,double w)
{
len=l;
wid=w;
}
double area()
{
double s=len*wid;
return s;
}
};
class triangle:public shape
{
private:
double height,edge;
public:
triangle(double h,double e)
{
height=h;
edge=e;
}
double area()
{
double s=height*edge/2;
return s;
}
};
int main()
{
circle a(3.0);
rectangle b(3.0,4.0);
triangle c(4.0,3.0);
a.printArea();//圆形面积
b.printArea();//矩形面积
c.printArea();//三角形面积
return 0;
}
4.这个抽象类怎么写
设置名字和长度2个成员变量 然后在构造方法里用this关键字传值就可以了
public abstract class Ship {
//这2个是序列化用的
public static final int HORIZONTAL = 0;
public static final int VERTICAL = 1;
//设置2个成员变量
private String name;
private int length;
//这个是你定义的带参构造方法
public Ship(String name, int length) {
//this关键字传值
this.name=name;
this.length=length;
}
}//你这里少了一个括号
--------------------------------------------------------------------
你把这个类定为抽象类 我不知道你后面还有没有代码 也可能你有抽象方法没有放上来……如果没有的话不建议使用abstract 修饰该类 因为抽象类不能实例化
5.求一个c编程定义一个抽象类容器类,其中定义了若干纯虚函数,实现
#includeusing namespace std;const double pi=3。
14; //π的值double a=0; //表面积double v=0; //体积class Container{ //声明抽象类protected: double radius;public: Container(double r) //构造函数 {radius=r; } virtual double area()=0; //纯虚函数,求表面积 virtual double volume()=0; //纯虚函数,求体积 virtual void print()=0; //纯虚函数,输出相关信息};class Cube:public Container{ //声明正方体的派生类public: Cube(double r):Container(r) {} double area() //定义虚函数area { return a=6*radius*radius; } double volume() //定义虚函数volume { return v=radius*radius*radius; } void print() { coutarea(); //既然已经定义了print()输出信息了,这就不用cout,直接在p->print即可输出信息,以下类同 p->volume(); p->print(); coutarea(); p->volume(); p->print(); coutarea(); p->volume(); p->print(); cout}分不好拿啊。
抽象类的子类要怎么写代码
1.java抽象类的创建及其子类的创建
public abstract class Fruit {
private String name;
private String color;
public Fruit(String name, String color) {
this.name = name;
this.color = color;
}
public abstract void pirntShape();
public void printInfo(){
System.out.println(name);
System.out.println(color);
}
}
public class Apple extends Fruit{
public Apple(String name, String color) {
super(name, color);
}
@Override
public void pirntShape() {
System.out.println("Apple");
}
}
public class Kiwi extends Fruit{
public Kiwi(String name, String color) {
super(name, color);
}
@Override
public void pirntShape() {
System.out.println("Kiwi");
}
}
2.子类调用 抽象类里的普通方法
抽象类不能被实例化,想调用里面的普通方法要通过继承,然后实例化子类调用抽象类的普通方法,下面有一段示例代码供你参考
定义一个抽象类 A
public abstract class A {
abstract int getSum(int a,int b);//抽象方法
int getSum2(int b)
{
int b;
return b;
};//普通方法
}
定义B类继承A类
public class B extends A {
int getSum(int a,int b) { //必须实现父类中的抽象方法的具体细节
int sum=a+b;
return sum;
}
public static void main(String a[]){ //主方法
System.out.println(new B().getSum2(90));//调用普通方法
System.out.println(new B().getSum(2,6));//调用抽象方法也相同
}
}
代码你不要复制,因为标点有中文状态下的可能会报错
希望能解决你的疑问,不过抽象类还有一个特例“接口”,接口要通过implements 关键字实现
3.java如何定义继承性抽象类并实现抽象类中抽象方法的子类,比如动
动物类:
public abstract class Animal{
抽象方法 吃:
public abstract void eat();
}
狗类:
class Dog extends Animal{
完成父类的抽象方法 吃(狗):
public void eat(){
system.out.println("dog is eating。");
}
}
4.求JAVA代码~~~~~~~~~~:编写一个应用抽象类的程序
public class text_1 {
/**
*
* @param args
* @author lovefang
* @功能:介绍类
* @时间:2011/5/8
*/
public static void main(String[] args){
Compute compute=new Compute();
Camera camera1=new Camera();
Phone phone1=new Phone();
compute.useUsb(camera1);
compute.useUsb(phone1);
}
}
//接口
//定义Usb接口,抽象类
interface Usb{
int a=1;
//声明两个方法,state表示开始工作,stop表示停止工作
public void start();
public void stop();
}
//编写相机类,相机实现usb接口
//一个重要的原则:当一个类实现了一个接口,则要求该类把这个接口中的方法全部实现
class Camera implements Usb{
public void start(){
System.out.println("我是相机,开始工作了");
}
public void stop(){
System.out.println("我是相机,不工作了");
}
}
//编写手机类,手机实现usb接口
class Phone implements Usb{
public void start(){
System.out.println("我是手机,开始工作了");
}
public void stop(){
System.out.println("我是手机,不工作了");
}
}
//接口继承别的接口
interface Tt{
}
interface Tt1 extends Tt{
}
//计算机类
class Compute{
public void useUsb(Usb usb){
// 开始使用Usb
usb.start();
usb.stop();
}
}
转载请注明出处育才学习网 » 抽象类的构造方法怎么写
育才学习网