public class StringTransformer {
public StringTransformer(string author) {
public virtual string Transform(string s) {
public class BraidynTransform: StringTransformer{
public BraidynTransform() : base("braidyn"){
public override string Transform(string s){
char[] array = s.ToCharArray();
Random randomString = new Random();
int k = randomString.Next(n + 1);
return new string(array);
public static void Main()
StringTransformer basic = new StringTransformer("shepherd");
Console.WriteLine("{0} would change {1} to {2}", basic.Author, "cheese", basic.Transform("cheese"));
BraidynTransform bbtrans = new BraidynTransform();
string result = bbtrans.Transform("superhero");
Console.WriteLine(result);