How to reference a prefabs in a class ?

I would like to reference a Prefabs inside a class.
I created a Weapon class , and 3 different prefabs: bazooka, machine gun, bomb.
So for instance:

class Weapon {

	private int power; 
	private int max_speed;
	private int count; 
	private Prefab weaponPrefab;

}

so i can use in my code something like :

class Bazooka: Weapon {
    
          void Bazooka () {
               power = 10; 
               max_speed = 100; 
               weaponPrefab = BazookaPrefab;
         }
    
    }

The problem is that “private Prefabs weaponPrefab” is not recognized.
Can i declare a Prefab type?

I would like to approach " weapon " using a class because of my past gaming development experience.
Maybe Unity isn’t working in “that way”.

What’s the best approach for designing a class like Weapon ?
Thanks

There are more problems than the Prefab.

If you have a base class (Weapon) and want some properties to be accessible by their childs, you have to declare them as protected.

    class Weapon
    {
        protected int power;
        protected int max_speed;
        protected int count;
        protected Prefab weaponPrefab;
    }

If you need a constructor for a class, it has to have an access modifier:

    class Bazooka : Weapon
    {
        public Bazooka()
        {
            power = 10;
            max_speed = 100;
            weaponPrefab = BazookaPrefab;
        }
    }

Next: a prefab is not a type in unity that you can use. Usually a prefab is a GameObject. So declare it as

class Weapon
        {
            protected int power;
            protected int max_speed;
            protected int count;
            protected GameObject weaponPrefab;
        }

To use a prefab, you have to create an Instance of this object. This is done by declaring a public GameObject variable in a script and manually drag the Prefab to this script, or with the Method Instantiate in code.

Use GameObject instead of prefab
ex. private GameObject weaponPrefab;

there is no point on creating a class for each weapon as it seem you are doing.
Just add on your Weapon class a field “name” (and an ID it s easier to refer to) and use it on all your weapons by Creating a Constructor (or a simple function to define its attribute accordingly)

public class Weapon {

public string name;
// and so on for all stats

//Constructor 
public Weapon (string name,//add all stats as params){
this.name = name;
//the rest stats
}
}