There are actually 3 persons in the riddle and not four.
One is a grandfather, other is the father and the third is the son.
Thus, the son, his father, and his grandfather go for fishing. Thus logically, there are 2 fathers and 2 sons.
Each person catches 1 fish each, so there are a total of 3 fishes only.