Parent to Child (functions), Child to Parent (events)?

Is it correct to think that the way a parent should communicate to it’s children is by calling their public functions? And that for a child to communicate to it’s parent it should dispatch an event that the parent listens for?

Thanks for helping me understand this.