Watch: Only Fools And Horses star John Challis dies aged 79
Challis, 79, best known for playing Boycie in the long-running BBC sitcom, has died “peacefully in his sleep after a long battle with cancer”.
Sir David, 81, told This Morning: "It wasn't a complete surprise because poor old John hadn't been well for the last month or two.
"But it seemed he went downhill so fast, very rapidly – one minute we were thinking he was on the road to recovery and then it took him quite swiftly.
"We're still suffering a bit of shock I'm afraid."
Watch: Tributes paid to John Challis
Sir David, who played Del Boy in the hit comedy, remembered his late co-star, who played second-hand car dealer Terrance Aubrey Boyce, as "a kind and ordinary, loveable chap".
"It comes as a bit of surprise to people that John was such a kind and ordinary loveable chap, totally different to the character he played. A lot of people think that was John, but it wasn't. It just shows his skill as an actor. It was so different to his natural nature."
Sir David led tributes to estate agent turned actor Challis when news of his death broke on Sunday.
He said in a statement: "It is with much sadness to hear that John Challis, a dear friend, has passed away.
"He was a wonderful actor, a gentleman in the true sense of the word and I know he will be missed by so many.
"A character so well loved by the many fans of that show so I am pleased that he witnessed the outpouring of admiration recently shown for the 40th anniversary of the first episode in 1981. I send my love and condolences to his wife, Carol."
Challis had recently cancelled a 30-date speaking tour due to ill health.
He played Boycie in Only Fools And Horses from 1981 to 2003 before starring in his own spin-off show The Green Green Grass, and made regular appearances at fan events.
Last year he presented the documentary Boycie In Belgrade, exploring why the British sitcom is such a hit in Serbia – where he has been made an honorary citizen.
Challis was also known for playing Monty Staines in ITV sitcom Benidorm.
Watch: The celebrities we lost in 2020