While self-sacrifice, or the risk thereof, can be a great indicator of heroism, I don't think it's a necessary part of the definition. Basically, I think a hero is someone who demonstrates the values of their culture in a way that excels the behavior of their peers. Greek heroes were those of the highest martial and athletic ability, and seen as favored by the gods. Early Christian heroes were those who eschewed violence completely and were willing to face torture and death without complaint. Modern American heroes tend to be those who look out for the underdog, who show extraordinary levels of determination and resourcefulness, who are optimistic, etc. This could be a soldier on the battlefield, or a teacher in a high school. A hero is a person who exemplifies what we all wish we were. They take the things we hold important to a level beyond expectations. They make abstract values concrete in the form of an individual person.

Ajax