Fief语言简介
Fief语言是面向对象的,支持泛型的,简洁的语言
特点
1.面向接口编程
接口是只有成员声明而没有实现的集合体.
一个类可以显示声明对接口的继承,也可以不声明.
一个类只有实现一个接口的方法和字段,那么它就是属于这个字段不管它有没有声明继承这个接口.
这样做的好处可以看一下Go语言的接口.
2.扩展方法
类的成员是可以扩展的
3.具有函数式编程特点
函数可以赋值,作为参数传递,返回
4.流式编程风格
尽量少用空格和嵌套
5.所有的类型都属于对象
没有值类型和引用类型之分
6.不支持重载,但支持默认参数
7.类不支持私有成员
所有成员的最低访问权限是protected,这样就保证子类都能访问到父类的成员
interface Ia
{
int get();
}
interface Ib
{
void print(string str);
}
class A
{
public string name;
public int get()
{
return 0;
}
public void print(string str)
{
Console.WriteLine(str);
}
//构造函数
public new(string n)
{
this.name=n;
}
}
//类A的扩展方法
A@out()
{
Console.WriteLine(this.name);
}
public class Test
{
public static void Main()
{
A a = new.A("张三");
a@out();
/* 因为类A实现了接口Ia的get方法,所以虽然它没有声
明继承Ia,但是还是属于接口Ia,所以CallIa(a)是对的 */
CallIa(a);
/* 同理,a也属于接口Ib */
CallIb(a,"test print");
}
public static void CallIa(Ia ia)
{
Console.WriteLine(ia.get());
}
public static void CallIb(Ib ib,string str)
{
ib.print(str);
}
}
/* 假如一个项目里有"会飞的东西","会跑的东西","testA" */
interface 会飞的东西
{
void 飞();
}
interface 会跑的东西
{
void 跑();
}
class testA
{
public static void Call(会飞的东西 f,会跑的东西 p)
{
f.飞();
p.跑();
}
}
/* 另一个项目里有一个类 */
class 动物A
{
public void 飞()
{
Console.WriteLine("飞");
}
public void 跑()
{
Console.WriteLine("跑");
}
}
/* 第三个项目 */
public class Main
{
public static void Main()
{
/* 动物A既属于会飞的东西,又属于会跑的东西所以可以调用 */
//如果显示继承的话,必须修改动物源码继承会飞的东西,会跑的东西
动物A a = new.动物A();
testA.Call(a,a);
}
}
interface itD
{
void A(int);
void B(string);
void C(char);
void D();
}
obj.is(itD)
本文介绍了Fief语言的主要特点,包括面向对象、泛型支持、简洁语法等,并通过实例展示了如何利用这些特性进行编程,如面向接口编程、扩展方法及流式编程风格。

3070

被折叠的 条评论
为什么被折叠?



