面对对象C语言编程架构--轻量级
把实际问题抽象出来
数据抽象
接口moveable
类animal{属性参数 设置}
继承 dog fish
car moveable
实现
--对类中的参数设置赋值
--即输入-dog or fish+参数项
--结果-dog的这个参数项实现了
/*
狗的吃行为
*/
void
Dog_eat(Animal* t)
{
printf(
"
狗吃骨头!
\n"
);
}
/*
狗的呼吸行为
*/
void
Dog_breathe(Animal* t)
{
printf(
"
狗用肺呼吸!
\n"
);
}
/*
狗的移动行为
*/
void
Dog_move(IMoveable* t)
{
printf(
"
狗在地上跑!
\n"
);
}
/*
初始化狗的昵称和年龄
*/
void
Dog_init(Dog* t,
const
char
* name,
int
age)
{
Animal* animal = SUPER_PTR(t, Animal);
animal->setName(animal, name);
animal->setAge(animal, age);
}
CTOR(Fish)
SUPER_CTOR(Animal);
FUNCTION_SETTING(Animal.eat, Fish_eat);
FUNCTION_SETTING(Animal.breathe, Fish_breathe);
FUNCTION_SETTING(IMoveable.move, Fish_move);
FUNCTION_SETTING(init, Fish_init);
END_CTOR