العربية  

books parametric polymorphism or generic programming

If you do not find what you're looking for, you can use more accurate words.

View more

تعددية الأشكال الحدودية أو البرمجة العامة (Info)


مفهوم تعددية الأشكال الحدودية ينطبق على كل من أنواع البيانات و الدَّوال، وهذا المفهوم يساعدنا على كتابتهم بطريقة عامة بحيث يمكننا التعامل مع القيم والمحتوى بدون الاعتماد أو الالتفات لنوعيتهم.

والمثال التالي بلغة "هاسكال" يوضح كيفية استخدام هذا النوع من تعددية الأشكال، بحيث يمكننا استخدام أكثر من نوع كمدخل للصنف:

data List a = Nil | Cons a (List a) length :: List a -> Integer length Nil = 0 length (Cons x xs) = 1 + length xs map :: (a -> b) -> List a -> List b map f Nil = Nil map f (Cons x xs) = Cons (f x) (map f xs)

وهذا النوع من تعددية الأشكال متوفر أيضا في لغات مختلفة مثل "جافا، سي شارب، سي بلس بلس" وهاكم مثال على "سي شارب":

class List<T> { class Node<T> { T elem; Node<T> next; } Node<T> head; int length() {... } } List<B> map(Func<A, B> f, List<A> xs) { ... }

Source: wikipedia.org