Q:

Is the below design an abstract factory?

I have the following scenario

A method takes a vehicle type object and returns the following
a. Road vehicle 
b. water vehicle 
c. flying vehicle.
another method takes the object returned from 1 and gives more specific object. For ex if "Road vehicle is returned" then this method will return Car, bus etc.

Can I say that this is an example of Abstract factory pattern? Because in step 1 , I am getting one of possible factory and in step 2, it is more of specific object.
Regards

A:

You're not creating a concrete factory first, so I don't see this as being a representation of abstract factory. Thus you've got a concrete factory method.

A:

No yours is not an abstract factory, it is more of a Factory Method pattern.
Abstract Factory

Abstract Factory offers the interface for creating a family of related
  objects, without explicitly specifying their classes.

Something like this would be Abstract Factory
interface CarSparePartFactory{
    public SparkPlug createSparkPlug();
    public Wheel createWheel();

}

interface SparkPlug{

}

interface Wheel{

}

Here you are creating a group of related objects using an interface.
For more on Abstract factory:

What is abstract factory?

